C# 布局转换中的ScaleTransform不起作用,但可与RenderTransform一起使用
我试图在我的应用程序中做两件事 1.变焦图像 能够处理C# 布局转换中的ScaleTransform不起作用,但可与RenderTransform一起使用,c#,wpf,xaml,mvvm,wpf-4.0,C#,Wpf,Xaml,Mvvm,Wpf 4.0,我试图在我的应用程序中做两件事 1.变焦图像 能够处理渲染转换。但需要在LayoutTransform中实现,以启用Scrollviewer xaml 工作 <Image.RenderTransform> <ScaleTransform ScaleX="{Binding ScaleX}" ScaleY="{Binding ScaleY}" /> </Image.RenderTransform> 不能同时使用ScrollViewer实现Scal
渲染转换
。但需要在LayoutTransform
中实现,以启用Scrollviewer
xaml
工作
<Image.RenderTransform>
<ScaleTransform ScaleX="{Binding ScaleX}" ScaleY="{Binding ScaleY}" />
</Image.RenderTransform>
不能同时使用ScrollViewer实现ScaleTransform
和RotateTransform
我试过使用Canvas
xaml
任何人都可以帮我提建议
“GazTheDestroyer”为我提出的有效解决方案
XAML
尝试将Stretch=“None”
添加到您的图像
标签中,否则,请提供明确的高度和宽度
在某些面板中,WPF将自动将图像拉伸到面板中的可用空间,这将使缩放变换在布局过程中变得多余。长问题,小答案。成功了。我会把它寄出去。
<Image.LayoutTransform>
<ScaleTransform ScaleX="{Binding ScaleX}" ScaleY="{Binding ScaleY}" />
</Image.LayoutTransform>
<Image.LayoutTransform>
<TransformGroup>
<ScaleTransform ScaleX="{Binding ScaleX}" ScaleY="{Binding ScaleY}" />
<RotateTransform Angle="{Binding RotateAngle}"/>
</TransformGroup>
</Image.LayoutTransform>
<Canvas.LayoutTransform>
<TransformGroup>
<ScaleTransform ScaleX="{Binding ScaleX}" ScaleY="{Binding ScaleY}" />
<RotateTransform Angle="{Binding RotateAngle}"/>
</TransformGroup>
</Canvas.LayoutTransform>
<ScrollViewer>
<Viewbox RenderTransformOrigin="0.5,0.5" Height="Auto" Width="Auto" ScrollViewer.CanContentScroll="True">
<Viewbox.LayoutTransform>
<TransformGroup>
<ScaleTransform ScaleX="{Binding ScaleX}" ScaleY="{Binding ScaleY}" />
<RotateTransform Angle="{Binding RotateAngle}"/>
</TransformGroup>
</Viewbox.LayoutTransform>
<Image RenderTransformOrigin="0.5,0.5" >
<Image.Source>
<BitmapImage UriSource="{Binding ImagePath}" ScrollViewer.CanContentScroll="True"></BitmapImage>
</Image.Source>
</Image>
</Viewbox>
</ScrollViewer>
<Image RenderTransformOrigin="0.5,0.5" Stretch="None" >
<Image.LayoutTransform>
<TransformGroup>
<ScaleTransform ScaleX="{Binding ScaleX}" ScaleY="{Binding ScaleY}" />
<RotateTransform Angle="{Binding RotateAngle}"/>
</TransformGroup>
</Image.LayoutTransform>
<Image.Source>
<BitmapImage UriSource="{Binding ImagePath}" ScrollViewer.CanContentScroll="True"></BitmapImage>
</Image.Source>
</Image>