LayoutTransform에 적용한 TransformGroup 안에 원하는만큼의 크기 조절 변형을 넣을 수 있습니다. 다른 변형을 속성에 바인딩 할 수 있습니다. 두 번째의
<Image.LayoutTransform>
<TransformGroup>
<ScaleTransform ScaleX="{Binding ScaleFactor}" ScaleY="{Binding ScaleFactor}"/>
<ScaleTransform ScaleX="-1" ScaleY="1"/>
</TransformGroup>
</Image.LayoutTransform>
대신 -1
1이 당신의 ViewModel의 속성에 결박 변환 제작 한 다음
(당신의 flipx 및 flipy 속성을 부울 경우 분명히 컨버터가 필요합니다) 부울 속성을 스케일로 변환하는 변환기를 사용하여 질문의 모든 기능을 보여주는 간단한 예제는 ScaleX 및 ScaleY를 변환합니다.
XAML
<Window x:Class="flipx.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:flipx"
DataContext="{Binding RelativeSource={RelativeSource Self}}"
Title="MainWindow" Height="350" Width="525">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="*"/>
<RowDefinition Height="30"/>
</Grid.RowDefinitions>
<Ellipse Grid.Row="0" Width="100" Height="100">
<Ellipse.Fill>
<LinearGradientBrush >
<GradientStop Color="Red"/>
<GradientStop Color="#FF2300FF" Offset="1"/>
</LinearGradientBrush>
</Ellipse.Fill>
<Ellipse.LayoutTransform>
<TransformGroup>
<ScaleTransform ScaleX="{Binding ScaleFactor}" ScaleY="{Binding ScaleFactor}"/>
<ScaleTransform ScaleX="{Binding FlipX, Converter={local:BooleanToScaleConverter}}" ScaleY="{Binding FlipY, Converter={local:BooleanToScaleConverter}}"/>
</TransformGroup>
</Ellipse.LayoutTransform>
</Ellipse>
<StackPanel Grid.Row="1" Orientation="Horizontal" HorizontalAlignment="Center">
<CheckBox Margin="5" IsChecked="{Binding FlipX}">FlipX</CheckBox>
<CheckBox Margin="5" IsChecked="{Binding FlipY}">FlipY</CheckBox>
<Slider Minimum="0.001" Maximum="5" Value="{Binding ScaleFactor}" Width="150"/>
</StackPanel>
</Grid>
</Window>
C#
당신은 항상 당신이 조금 정교한 수 ... 레이아웃의 규모 X/Y 속성이
. .. 나는 wpf에 새로운 ... 어떻게 변환기를 사용합니까? 다시 감사하십시오 ... – Andy