Entwickler-Ecke

WPF / Silverlight - Im XAML ALLEN Kontextmenü-Items denselben Command zuweisen


relapse - Do 31.01.13 09:09
Titel: Im XAML ALLEN Kontextmenü-Items denselben Command zuweisen
Hi, habe folgende Situation: Ich benutze WPF/MVVM und versuche allen Kontextmenü-Items denselben Command zuzuweisen, wobei der Index des angeklickten Kontextmenü-Eintrags (gibt es den Index?) sollte als Parameter dem Command übergeben werden. Ist es lösbar in XAML? Was bei mir im Moment finktioniert: Alle Einträge (kommen aus einer ObservableCollection) werden dynamisch richtig aufgelistet (es geht um Undo/Redo-Aktionen). Aber der Command wird nicht ausgeführt! Danke für die Tipps im Voraus!!!

Mein Code-Abschnitt:


C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
    <ContextMenu x:Key="cm" ItemsSource="{Binding KontextMenueItems}" DisplayMemberPath="Bezeichnung" d:DataContext="{d:DesignInstance ViewModel:MeinViewModel}">
        <ContextMenu.ItemContainerStyle>
            <Style TargetType="MenuItem">
                <Setter Property="Command" Value="{Binding MeinCommandEinerFuerAlleItems}" />
                <Setter Property="CommandParameter" Value="????????" /> <!--Hier bin ich mir gar nicht sicher, was da eingesetzt werden soll.-->
            </Style>
        </ContextMenu.ItemContainerStyle>
    </ContextMenu>
...
    <Button Command="{Binding Redo}" ContextMenu="{StaticResource cm}" />
    <Button Command="{Binding Undo}" ContextMenu="{StaticResource cm}" />