Laden...

[erledigt] In C# an Attached Property binden

Erstellt von b-oern vor 13 Jahren Letzter Beitrag vor 13 Jahren 882 Views
B
b-oern Themenstarter:in
45 Beiträge seit 2007
vor 13 Jahren
[erledigt] In C# an Attached Property binden

Hallo,
ich habe eine Klasse Form im Namespace x.y, diese Klasse Form stellt die AttachedProperty Title bereit. Die kann ich einen Element zuordnen. Nun würde ich gerne die angehängte Eigenschaft Title eines Objektes an einen TextBlock binden.


// item ist das Objekt das die Attached Property hat
var title = new TextBlock();
Binding myBinding = new Binding("Form.Title"); // <- hier weiss ich nicht wie ich den Namespace x.y richtig angeben soll
myBinding.Source = item;
myBinding.FallbackValue = "error";
title.SetBinding(TextBlock.TextProperty, myBinding);

Nur wie gebe ich bei der Bindung den Namespace richtig an ?

Gruß Björn

3.430 Beiträge seit 2007
vor 13 Jahren

Hallo b-oern,

oft hilft es wenn man einfach Klammern um das Binding setzt.
z.B. (Grid.Row)
Das funktioniert in diesem Beispiel nur weil man den Namespace nicht mit angeben muss.

Bei dir muss man das aber, deshalb funktioniert es so nicht.

Versuche es mal so


var title = new TextBlock();
Binding myBinding = new Binding(); 
myBinding.Path = new PropertyPath(Form.TitleProperty);
myBinding.Source = item;
myBinding.FallbackValue = "error";
title.SetBinding(TextBlock.TextProperty, myBinding);

Gruß
Michael

B
b-oern Themenstarter:in
45 Beiträge seit 2007
vor 13 Jahren

Danke, das war es 😃

Hab mir schon gedacht das es so etwas wie einen PropertyPath geben müsste. Nur war der Parameter im Konstruktor nur ein String.

Gruß Björn