Die Bindung an eine relativesource in der code-behind
In meinem UserControl, ich habe folgenden code in meiner XAML -
<TextBlock Grid.Row="2" Text="{Binding Path=StartTime,
RelativeSource={RelativeSource Mode=FindAncestor,
AncestorLevel=1, AncestorType=Window}}" />
Dieser wird einfach der Wert einer Eigenschaft vom übergeordneten Fenster und es funktioniert Super.
Wie kann ich dies in den code hinter?
Binding b = new Binding();
b.RelativeSource = new RelativeSource(RelativeSourceMode.FindAncestor,
typeof(Window), 1);
b.Path = "StartTime";
myProperty = b.value;//obviously there is no b.value but this
//is what I'm trying to achieve.
//BindingOperations.SetBinding(StartTime, StartTimeProperty, b);
//This does not work sadly, it can't convert string to DependancyObject
InformationsquelleAutor Dave | 2013-11-05
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sollten Sie versuchen,
BindingOperations.SetBinding
. Diese arbeiten sollten so etwas wie dieses:(unter der Annahme, dass
this
ist einDependencyObject
undmyProperty
ist die DependencyProperty.Es wäre hilfreich, wenn du geschrieben der code enthält die Erklärung der
myProperty
. In meinem Beispielthis
muss einDependencyObject
(z.B. einControl
), undmyProperty
muss einDependencyProperty
. Ich nehme an, dies ist nicht der Fall. Haben Sie vielleicht zu ändernmyProperty
etwas wieMyClass.MyProperty
(die statischeDependencyProperty
Feld.Sorry, meine Nachricht war nicht gemeint zu sagen, dass dein Beispiel falsch ist, mehr, dass ich war, es zu tun falsch! Dein Beispiel, was ich wollte. Dank
InformationsquelleAutor gehho
Geben
x:Name
zu Ihrem TextBlock -dann kann man das im code behind wie diese -
InformationsquelleAutor Rohit Vats