我有以下代码。为什么 Text
-Binding 有效,而 TranslateTransform.X
无效?
<Window xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
x:Class="WpfApplication2.MainWindow"
Title="MainWindow">
<Window.Resources>
<Style TargetType="TextBlock" x:Key="txtStyle">
<Setter Property="HorizontalAlignment" Value="Left"/>
<Setter Property="Text" Value="{Binding RelativeSource={RelativeSource Self}, Path=Width, Mode=OneWay}"/>
<Setter Property="RenderTransform">
<Setter.Value>
<TranslateTransform X="{Binding RelativeSource={RelativeSource Self}, Path=Width, Mode=OneWay}"/>
</Setter.Value>
</Setter>
</Style>
</Window.Resources>
<StackPanel>
<TextBlock Canvas.Top="50" Background="Lime" Width="200" Style="{StaticResource txtStyle}"/>
<TextBlock Canvas.Top="100" Background="LightBlue" Width="300" Style="{StaticResource txtStyle}"/>
</StackPanel>
</Window>
最佳答案
您需要一个 FindAncestor
绑定(bind)。
<TranslateTransform X="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=TextBlock}, Path=Width, Mode=OneWay}"/>
关于c# - WPF 中 Style 内的 RenderTransform 绑定(bind),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30703366/