Jak powiązać właściwość zależności WPF, gdy datakekst strony jest używany do innych powiązań? (Proste pytanie)Jak powiązać z właściwością zależności WPF, gdy datakekst strony jest używany do innych powiązań?
Odpowiedz
Konieczne jest ustawienie datakontekstu elementu.
XAML:
<Window x:Class="WpfDependencyPropertyTest.Window1" x:Name="mywindow">
<StackPanel>
<Label Content="{Binding Path=Test, ElementName=mywindow}" />
</StackPanel>
</Window>
C#:
public static readonly DependencyProperty TestProperty =
DependencyProperty.Register("Test",
typeof(string),
typeof(Window1),
new FrameworkPropertyMetadata("Test"));
public string Test
{
get { return (string)this.GetValue(Window1.TestProperty); }
set { this.SetValue(Window1.TestProperty, value); }
}
zobaczyć także ten powiązane pytanie:
+1 Dzięki. Wreszcie łatwy do zrozumienia, jasny przykład! –
Czy to automatycznie dostarcza powiadomienie o zmianie, gdy "Test" zostanie zmieniony za pomocą kodu? – Kos
Jesteś moim wybawcą, Thomas Bratt – user1836155
w XAML:
Something="{Binding SomethingElse, ElementName=SomeElement}"
W kodzie:
BindingOperations.SetBinding(obj, SomeClass.SomethingProperty, new Binding {
Path = new PropertyPath(SomeElementType.SomethingElseProperty), /* the UI property */
Source = SomeElement /* the UI object */
});
Chociaż zwykle można to zrobić na odwrót i wiążą właściwość UI do właściwości niestandardowej zależności.
pytasz o coś innego niż to, co można znaleźć podczas wyszukiwania w Google dla "szyfrowania danych WPF"? –
Szukałem działającego przykładu, w którym datacutext strony jest już używany dla innych powiązań. Okazuje się, że datakontekst elementu musiał zostać ustawiony na samej stronie. W razie potrzeby opublikuję kod i edytuję pytanie. –