Неудачная попытка XAML здесь - очевидно, я делаю что-то глупое со стилем
/ Синтаксис сеттера
. Я просто хочу перевернуть элемент на основе некоторых привязок, установив свойства ScaleX
и ScaleY
для ScaleTransform
из DataTrigger
. Setter.Property
явно не поддерживает путь к свойству, но как я могу это обойти? Я не могу установить все свойство RenderTransform
, потому что ScaleX
и ScaleY
независимы. Есть идеи?
<Page xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<StackPanel>
<TextBlock FontSize="50" RenderTransformOrigin=".5,.5">
<TextBlock.Style>
<Style>
<Style.Triggers>
<DataTrigger Binding="{Binding IsChecked, ElementName=FlipX}" Value="True">
<Setter Property="RenderTransform.ScaleX" Value="-1"/>
</DataTrigger>
<DataTrigger Binding="{Binding IsChecked, ElementName=FlipY}" Value="True">
<Setter Property="RenderTransform.ScaleY" Value="-1"/>
</DataTrigger>
</Style.Triggers>
</Style>
</TextBlock.Style>
<TextBlock.RenderTransform>
<ScaleTransform/>
</TextBlock.RenderTransform>
Hello World
</TextBlock>
<CheckBox Name="FlipX">Flip x</CheckBox>
<CheckBox Name="FlipY">Flip y</CheckBox>
</StackPanel>
</Page>