MVVMを使用してWPFアプリを開発していますが、サポートが必要です。
AddressesViewModelのビューの場合、リストビューを備えたユーザーコントロールがあります。listViewItemのコンテキストメニューからAddressesViewModelにあるコマンドを実行したいと思います。コンテキストメニューを開いているので、ビジュアルツリーに見つかりません(どこかで読んでいます)。
ビューのマークアップは次のとおりです。
<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>
ViewModelクラスは次のとおりです。
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; }
}
前もって感謝します