Почему эта привязка не работает? - PullRequest
0 голосов
/ 06 января 2012

У меня есть текстовое поле внутри стиля, текстовое свойство которого связано со свойством name моего объекта. Вот код:

<Style TargetType="s:Node">
    <Setter Property="Template">
        <Setter.Value>
            <ControlTemplate TargetType="ContentControl">
                <TextBox x:Name="textboxName" Text="{Binding Source={RelativeSource TemplatedParent}, Path=Tag, Mode=TwoWay}" IsHitTestVisible="False"/> 
            </ControlTemplate>
        </Setter.Value>
    </Setter>
</Style>

Внутри конструктора для узла у меня есть:

public Node()
    {
        Name = "node";
        Tag = 100;    
    }

Я не уверен, что делаю неправильно, любая помощь будет признательна.

Ответы [ 2 ]

1 голос
/ 06 января 2012

Источник должен быть RelativeSource, я не уверен, почему он не работает таким образом.

0 голосов
/ 06 января 2012

Source не обрабатывает RelativeSource, как Binding, когда он установлен как Binding.RelativeSource, а просто берет этот объект расширения разметки и ищет на нем свойства.

A RelativeSource описывает , как должен быть найден относительный источник и, следовательно, не должен использоваться напрямую в качестве Source для привязки.

...