Wie kann ich eine ItemsControl.ItemsSource mit einer Eigenschaft in XAML verbinden?

7

Ich habe ein einfaches Fenster:

%Vor%

Und der zugehörige Code dahinter:

%Vor%

Wenn ich die folgende Bindung im Fensterkonstruktor schreibe:

%Vor%

dann wird mein ListView automatisch aktualisiert, wenn ich Elemente von Activities hinzufüge oder entferne.

Wie soll ich die Bindung in XAML schreiben?
Ich habe das versucht, aber es funktioniert nicht:

%Vor%

Wie mache ich das in XAML?

    
Jonny Piazzi 22.05.2013, 14:23
quelle

4 Antworten

12

Was @JesseJames sagt, ist wahr, aber nicht genug.

Sie müssen

setzen %Vor%

als

%Vor%

Und die Bindung sollte sein:

%Vor%

Grüße,

    
sexta13 22.05.2013, 14:29
quelle
11

Sie müssen DataContext auf this setzen, wie andere beantwortet haben, aber Sie können DataContext bis xaml auch setzen:

%Vor%     
Farhad Jabiyev 22.05.2013 14:27
quelle
2

Setzen Sie DataContext = this im Fensterkonstruktor.

%Vor%

Dann können Sie Aktivitäten wie gewünscht binden: <ListView x:Name="lvItems" ItemsSource="{Binding=Activities}" />

    
opewix 22.05.2013 14:25
quelle
1

Das liegt daran, dass der Datenkontext Ihrer Ansicht nicht festgelegt wurde. Sie können dies entweder im folgenden Code tun:

%Vor%

Alternativ können Sie die DataContext des Fensters auf sich selbst setzen - DataContext="{Binding RelativeSource={RelativeSource Self}}"

Es ist viel besser, wenn Sie das MVVM-Designmuster und mit einem MVVM-Framework .

    
devdigital 22.05.2013 14:26
quelle

Tags und Links