Ich entwickle eine WPF-App mit MVVM und brauche etwas Hilfe.Get DataContext von ListView Ancestor
für die Ansicht meines AddressesViewModel Ich habe eine Benutzersteuerung mit einem Listview. Ich möchte einen Befehl im AddressesViewModel aus dem Kontextmenü des listViewItem ausführen. Da ich ein ContextMenu öffne, wird es nicht im visuellen Baum gefunden (ich habe das irgendwo gelesen). Hier
ist der Ansicht Markup:
<UserControl>
<ListView Name="lstAddress"
ItemsSource="{Binding Path=Addresses}"
HorizontalAlignment="Stretch" MinHeight="150" MinWidth="100">
<ListView.Resources>
<ContextMenu x:Key="ItemContextMenu">
<MenuItem Header="Add Address"/>
</ContextMenu>
</ListView.Resources>
<ListView.View>
<GridView>
<GridViewColumn Header="Address" DisplayMemberBinding="{Binding Path=Address}/>
<GridViewColumn Header="City" DisplayMemberBinding="{Binding Path=City}"/>
</GridView>
</ListView.View>
<ListView.ItemContainerStyle>
<Style TargetType="{x:Type ListViewItem}">
<Setter Property="ContextMenu" Value="{StaticResource ItemContextMenu}"/>
</Style>
</ListView.ItemContainerStyle>
</ListView>
</UserControl>
Hier ist die Ansichtsmodell Klassen:
public class AddressesViewModel
{
public List<AddressViewModel> Addresses { get; set; }
public ICommand AddAddressCommand { get; set; }
}
public class AddressViewModel
{
public String Address { get; set; }
public String City { get; set; }
public String State { get; set; }
public String Zip { get; set; }
}
Vielen Dank im Voraus