2009-03-13 4 views
0

У меня есть новый UserControl, поддерживаемый UserControl01.cs, который отображает два свойства. Один из них - это обычное свойство CLR, другое - новый формат свойств DP. например:Может ли Ag UserControl выставлять свойства, доступные для привязки XAML?

string PropertyOne {get;set;} 

и второе свойство является публичной DP (построить слишком долго перечислять здесь).

Со стороны XAML я хочу разоблачить это значение. Как я могу это сделать?

На обоих свойств (старый CLR, а также второй формат обертку DP) Я пробовал синтаксис как:

<TextBlock Text={Binding Prop1}/> 
<TextBlock Text={Binding Source=., Path=Prop1}/> 

Я пытался ставить реф к типу класса в словаре ресурсов и ссылаться на него с

<TextBlock Text={Binding Source={StaticReference myType}, Path=Prop1}/> 

, но это, очевидно, заканчивается переполнением стека, поскольку словарь создает экземпляр второй копии элемента управления.

Я прочитал пост где-то в WPF можно x:Name сам контроль, а затем

<TextBlock Text="{Binding {ElementName=theName, Path=Prop1}"/> 

, но мы не имеем ElementName связывания в Ag, так что это не так.

  1. Как я могу привязать свойство UserControl? Любая собственность!
  2. Если это невозможно, и вы можете привязываться только к DTO или другим BO, какова логика/объяснение того, как мы должны создавать UserControls, которые хотят выставлять свои значения?

ответ