[英]Binding a Canvas size to the image size in its background ImageBrush
我有一個要調整大小以適合背景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控件。
我沒有使用ImageBrush,而是將圖像添加到畫布,並將Canvas大小綁定到Image大小。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.