#wpf
#wpf
Вопрос:
как преобразуется свойство «Растягивать» изображения в эффектах WPF?
Я обнаружил, что свойство «Растягивать» изображения влияет на применяемые к нему преобразования. Когда stretch = fill, то все в порядке, но если stretch =uniform, преобразования выполняются поэтапно. Я не понимаю, почему это происходит. Пожалуйста, объясните.
код:
<Canvas Height="200" Width="200">
<Image Height="50" Width="50" RenderTransformOrigin="0.5,0.5" Source="Image.jpg" Stretch="Fill">
<Image.RenderTransform>
<TransformGroup>
<RotateTransform Angle="200" />
<TranslateTransform X="100" Y="100"/>
</TransformGroup>
</Image.RenderTransform>
</Image>
<Rectangle Height="50" Width="50" RenderTransformOrigin="0.5,0.5" Fill="RoyalBlue" Opacity="0.5">
<Rectangle.RenderTransform>
<TransformGroup>
<RotateTransform Angle="200" />
<TranslateTransform X="100" Y="100"/>
</TransformGroup>
</Image.RenderTransform>
</Rectangle>
</Canvas>
<Canvas Height="200" Width="200">
<Image Height="50" Width="50" RenderTransformOrigin="0.5,0.5" Source="Image.jpg" Stretch="Uniform">
<Image.RenderTransform>
<TransformGroup>
<RotateTransform Angle="200" />
<TranslateTransform X="100" Y="100"/>
</TransformGroup>
</Image.RenderTransform>
</Image>
<Rectangle Height="50" Width="50" RenderTransformOrigin="0.5,0.5" Fill="RoyalBlue" Opacity="0.5">
<Rectangle.RenderTransform>
<TransformGroup>
<RotateTransform Angle="200" />
<TranslateTransform X="100" Y="100"/>
</TransformGroup>
</Rectangle.RenderTransform>
</Rectangle>
</Canvas>
Комментарии:
1. Не могли бы вы добавить свой фактический код к вопросу вместо скриншотов к нему? Это интересно, и я бы хотел с этим поиграть, но мне лень все это набирать 🙂
2. @Tim Checkout, я вставил код
Ответ №1:
Из моего тестирования выясняется, что это просто ошибка в способе предварительного просмотра этого XAML в Visual Studio designer.
Я взял ваш код и загрузил его как в Visual Studio 2010, так и в Expression Blend 4. В конструкторе Visual Studio я понимаю, о чем вы говорите. В Expression Blend предварительный просмотр выполнен правильно.
Самое главное, когда я запускаю приложение, оно отображается правильно. Итак, я думаю, вы в порядке. Просто притворись, что это не так, или используй Expression Blend, когда тебе нужно работать с этим элементом управления.