2009-04-21 9 views
17

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ń?

+1

pytasz o coś innego niż to, co można znaleźć podczas wyszukiwania w Google dla "szyfrowania danych WPF"? –

+3

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. –

Odpowiedz

31

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:

WPF DependencyProperties

+3

+1 Dzięki. Wreszcie łatwy do zrozumienia, jasny przykład! –

+0

Czy to automatycznie dostarcza powiadomienie o zmianie, gdy "Test" zostanie zmieniony za pomocą kodu? – Kos

+0

Jesteś moim wybawcą, Thomas Bratt – user1836155

8

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.

Powiązane problemy