У меня есть Canvas, в котором я устанавливаю свойство Background для VisualBrush, состоящего из Image. Я связываю данные «Ширина и высота холста» с шириной и высотой изображений. Вот XAML:
<Canvas x:Name="imageCanvas" ClipToBounds="True" Width="{Binding ActualWidth, ElementName=dataImage}" Height="{Binding ActualHeight, ElementName=dataImage}"
Loaded="imageCanvas_Loaded" MouseMove="imageCanvas_MouseMove">
<Canvas.Background>
<VisualBrush Stretch="Uniform">
<VisualBrush.Visual>
<Image x:Name="dataImage" ClipToBounds="True" RenderOptions.BitmapScalingMode="HighQuality" Stretch="Uniform" Source="{Binding DataImage, Mode=OneWay}" LayoutTransform="{Binding DataImageLayoutTransform, Mode=OneWay}"/>
</VisualBrush.Visual>
</VisualBrush>
</Canvas.Background>
</Canvas>
Обратите внимание, что Image использует LayoutTransform. Я использую это, чтобы растянуть ширину изображения. Если я отключаю привязку LayoutTransform и запускаю, я получаю следующий (правильно) визуализированный вывод:
![enter image description here](https://i.stack.imgur.com/WSg2h.png)
Однако, когда я добавляю LayoutTransform, чтобы растянуть ширину изображения в 6 раз, изображение выглядит растянутым правильно, но оно слишком мало, т. Е. Оно не заполняет холст равномерно:
![enter image description here](https://i.stack.imgur.com/KpnbA.png)
Я подозреваю, что это может иметь какое-то отношение к привязке Canvas Height / Width к ширине высоты изображения, но неясно, в чем именно заключается проблема. Кто-нибудь может дать некоторое представление? Заранее спасибо.