У меня есть холст, который я хочу, чтобы он соответствовал фону ImageBrush.Привязка размера холста к размеру изображения на его фоне ImageBrush
Одно препятствие здесь заключается в том, что элемент управления создается, а затем изображение передается и назначается как ImageBrush. Другим препятствием является то, что я делаю этот элемент управления как для WPF, так и для Silverlight, а ImageBrush отличается (т. Е. Они не имеют никаких событий).
Edit:
<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, который не имеет ширину и высоту.
Можете ли вы показать свой XAML? Вероятно, вы можете привязать «Высота»/'Ширина холста к изображению' ActualHeight'/'ActualWidth' изображения – Rachel
. Привет, есть ли какая-то конкретная причина использовать Canvas вместо Grid? Первый будет определять размер изображения. –
Я использую этот элемент управления для рисования различных элементов управления с помощью мыши. – PhilBrown