Привязка к текстовому блоку WPF - PullRequest
1 голос
/ 20 мая 2010

Я пытаюсь разобраться со всем, что связано с MVVM и связыванием. У меня есть класс ViewModel, который имеет свойство, которое является другим классом. Я хочу привязать свойство (string) этого класса к тексту текстового блока.

Я установил ViewModel в качестве контекста данных для моего окна \ страницы. А затем сделайте это:

<TextBlock Text="{Binding ElementName=myAddressClass, Path=StreetName}" />

Но это не работает. Текст пустой.

Я могу выставить StreetName напрямую, как показано ниже, и это работает:

<TextBlock Text="{Binding  Path=StreetName}" />

Итак, я делаю что-то не так в первом примере. Это кажется достаточно простым ... я просто не понимаю, что такое имя элемента или должно быть установлено?

спасибо

Ответы [ 2 ]

1 голос
/ 20 мая 2010

ElementName используется для ссылки на элемент XAML в логическом дереве.Поскольку то, что вы пытаетесь связать, не является элементом, ElementName не является правильным подходом.Обозначение с точечным путем является самым простым подходом в этом случае:

{Binding Path=myAddressClass.StreetName}
1 голос
/ 20 мая 2010

Я думаю, вы, вероятно, запутались. Если вы хотите привязать к MyAddress.StreetName, просто сделайте это: Text="{Binding MyAddress.StreetName}" Убедитесь, что MyAddress является свойством вашего DataContext. ElementName для привязки к другим элементам управления.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...