4
後,我已經得到了控制,它允許用戶旋轉圖像 - 這裏的XAML的一個簡化版本:XAML圖像適合家長旋轉
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="*"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<Border Grid.Row="0" Margin="5"
BorderBrush="Black" BorderThickness="2"
Background="#ddd">
<Viewbox>
<Image Source="image.jpg" RenderTransformOrigin="0.5, 0.5">
<Image.RenderTransform>
<RotateTransform Angle="{Binding ElementName=Slider, Path=Value}"/>
</Image.RenderTransform>
</Image>
</Viewbox>
</Border>
<Slider x:Name="Slider"
Grid.Row="1" Margin="5"
Minimum="-180" Maximum="180"
Value="0"/>
</Grid>
我遇到的問題是圖像可以在旋轉時跨越包含矩形的邊界,而我需要調整它的大小以適合它。我可以在ViewModel上計算出最合適的值並將其綁定,但我相當肯定我可能只是錯過了XAML中的一個技巧來實現這一點。我認爲Viewbox可能已經做到了,但要麼不是這種情況,要麼我錯誤地使用了它...
此鏈接解釋了RenderTransform和LayoutTransform之間的區別以及它爲什麼可行: http://www.scottlogic.com/blog/2008/12/19/layouttransform-vs-rendertransform-whats-the-difference.html –