RenderTransform связывание внутри стиля в WPF

У меня есть следующий код. Почему Text-Обязательная работа и 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>

1 ответ

Тебе необходимо FindAncestor Связывание.

<TranslateTransform X="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=TextBlock}, Path=Width, Mode=OneWay}"/>
Другие вопросы по тегам