2009-03-13 5 views
0

J'ai un nouveau UserControl soutenu par UserControl01.cs qui expose deux propriétés. L'une est une ancienne propriété CLR, l'autre le nouveau format de propriété DP. par exemple:Can Ag UserControl expose les propriétés exposées pour XAML à lier?

string PropertyOne {get;set;} 

et la deuxième propriété est un DP public (construction est trop long d'énumérer ici).

Du côté XAML, je tiens à exposer ces valeurs. Comment puis je faire ça?

Sur les deux propriétés (ancien CLR ainsi que deuxième format d'emballage DP) J'ai essayé la syntaxe comme:

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

J'ai essayé de mettre un arbitre au type de classe dans le dictionnaire des ressources et son référencement avec

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

mais cela finit évidemment par être un débordement de pile car le dictionnaire instancie une deuxième copie du contrôle.

Je lis un poste quelque part que dans WPF peut x:Name le contrôle lui-même, puis

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

mais nous n'avons pas ElementName obligatoire dans Ag, de sorte que ce n'est pas le chemin.

  1. Comment puis-je lier à la propriété UserControl? Toute propriété!
  2. Si cela est impossible, et vous ne pouvez lier à de DTO ou autre BO de, quelle est la logique/explication à guider la façon dont nous devrions concevoir UserControls qui veulent exposer leurs valeurs?

Répondre

Questions connexes