Ich habe eine NavigateToAccountsCommand RelayCommand-Eigenschaft im ViewModel. Wenn ich dieselbe an eine Schaltfläche auf der Seite außerhalb der ListView binde, funktioniert die Befehlsbindung. Sobald ich dies jedoch in eine DataTemplate von ListView verschiebe, funktioniert es nicht.
Ich habe versucht, die Bindung von NavigateToAccountsCommand zu DataContext.NavigateToAccountsCommand noch nicht zu ändern.
Schätzen Sie Ihre Hilfe ...
%Vor% Wenn Sie sich in DataTemplate
von ListView
befinden, ist Ihr Datenkontext das aktuelle Element des ItemsSource
der ListView. Da es in Ihrem NavigateToAccountsCommand
für jedes einzelne Element keine Eigenschaft namens " AllAcounts
" gibt, funktioniert die Bindung nicht.
Um das zu beheben, müssen Sie etwas von außerhalb von DataTemplate
; folgendes sollte funktionieren. Er ändert die Bindung so, dass er auf die DataContext
des Root-Grids verweist, auf die die Eigenschaft NavigateToAccountsCommand
zugreifen soll. Um auf das Raster zu verweisen, müssen Sie das Attribut Name hinzufügen und dann ElementName
binding verwenden.
Ich hatte ein ähnliches Problem (Win RT), das ich mit nur:
gelöst habe %Vor%und dann in der Page-Klasse:
%Vor%Tags und Links c# mvvm winrt-xaml