首页 文章

将Canvas大小绑定到其背景ImageBrush中的图像大小

提问于
浏览
1

我有一个画布,我希望大小适合背景ImageBrush .

这里的一个障碍是控件正在被实例化,然后传入图像并将其指定为ImageBrush . 另一个障碍是我正在为WPF和Silverlight进行此控制,并且ImageBrush是不同的(即它们不共享任何事件) .

编辑:

<UserControl x:Class="Escalon.Annotations.AnnotationControl"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Height="400" Width="500" >
    <ScrollViewer Name="ctlScrollViewer" HorizontalScrollBarVisibility="Auto" Height="400" Width="500">
        <Canvas Name="ctlSizingCanvas" >
            <Canvas  Name="ctlCanvas" Loaded="ctlCanvas_Loaded" Height="400" Width="500"
                MouseLeftButtonDown="MouseLeftButtonDownHandler" MouseMove="Canvas_MouseMove" MouseLeftButtonUp="Canvas_MouseLeftButtonUp" >
                <Canvas.RenderTransform>
                    <ScaleTransform x:Name="ctlZoomTransform" />
                </Canvas.RenderTransform>
                <Canvas.Background>
                    <ImageBrush ImageSource="{Binding Source}" Stretch="UniformToFill" ></ImageBrush>
                </Canvas.Background>
            </Canvas>
        </Canvas>
    </ScrollViewer>
</UserControl>

问题是,我没有使用Image控件,我使用的是ImageBrush控件,它没有高度和宽度 .

1 回答

  • 0

    我只是将图像添加到画布并将画布大小绑定到图像大小,而不是使用ImageBrush .

相关问题