Kontextmenü zum Entfernen von Elementen in der Listenansicht

9

Ich habe eine ListView, die eine Liste von String-Werten anzeigt. Ich möchte für jedes Element in der Liste einen Kontextmenüeintrag hinzufügen, um das ausgewählte Element zu entfernen. Mein XAML sieht so aus:

%Vor%

Das Problem ist, dass der CommandParameter -Wert immer Null ist. Ich habe eine zusätzliche Schaltfläche hinzugefügt, um das ausgewählte Element zu entfernen, um zu überprüfen, ob mein Befehl funktioniert. Die Schaltfläche hat genau die gleiche Bindung und das Entfernen von Elementen über die Schaltfläche funktioniert. Die Schaltfläche sieht folgendermaßen aus:

%Vor%

Der Befehl sieht so aus:

%Vor%

Irgendwelche Ideen, warum das ausgewählte Element beim Öffnen des Kontextmenüs null ist? Vielleicht ein Fokusproblem der Listenansicht?

    
M.E. 18.06.2012, 11:48
quelle

3 Antworten

28

H.B. ist richtig. Sie können aber auch die RelativeSource-Bindung verwenden

%Vor%     
blindmeis 18.06.2012, 12:11
quelle
3

ContextMenus sind nicht verbunden, Sie können ElementName bindings nicht verwenden. Eine Problemumgehung wäre die Verwendung von Binding.Source und x:Reference , bei der Sie Teile extrahieren müssen, die verwendet werden es in den Ressourcen zu sein (aufgrund von zyklischen Abhängigkeitsfehlern). Sie können einfach das gesamte Kontextmenü dort platzieren.

Ein Beispiel:

%Vor%     
H.B. 18.06.2012 12:00
quelle
0

Das funktioniert für mich CommandParameter="{Binding}"

    
Vivek Malik 15.12.2016 17:02
quelle

Tags und Links