Привязка к пользовательскому свойству элемента управления - PullRequest
1 голос
/ 17 ноября 2010

Здравствуйте, у меня есть пользовательский элемент управления.Этот пользовательский элемент управления имеет свой DataContext, установленный для объекта.В моем пользовательском элементе управления я затем связываю некоторые TextBlocks с различными свойствами этой сущности.

Я также хотел бы привязать TextBlock к свойству класса элемента управления.Я не хочу / не нужно устанавливать это свойство через XAML.

Что-то вроде

<TextBlock Content="{Binding Path=MyControl.Property}" />

Сейчас, похоже, я пытаюсь использовать связанный объект для разрешения этой привязки, а не класс моего пользовательского элемента управления.

Ответы [ 3 ]

2 голосов
/ 17 ноября 2010

Вы можете использовать RelativeSource в вашем Binding

{Binding Path=PathToProperty, RelativeSource={RelativeSource AncestorType={x:Type MyControl}}}

Также вы можете увидеть больше в этом вопросе

1 голос
/ 17 ноября 2010

Если TextBlock находится в ControlTemplate вашего пользовательского элемента управления, вы можете создать DP на вашем пользовательском элементе управления, а затем привязать шаблон к нему. например,

<TextBlock Text="{TemplateBinding CustomControlPropertyName}" />
1 голос
/ 17 ноября 2010

В вашем пользовательском элементе управления вы должны предоставить свойство зависимостей со свойством, которое хотите связать.

Кроме того, вы, вероятно, не хотите связывать содержимое текстового блока, вы хотите связать текст:

<TextBlock Text="{Binding Path=MyControl.Property}" />
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...