私は行からのみアクセス可能なコンテキストメニューを持つDataGridを持っています。私はthis StackOverflow Answerから解決策を得ました。クリック方法では、特定の行を選択する必要があるため、コンテキストメニューを行に結びつける必要がありました。行のコンテキストメニューは見た目がよく、うまく動作します。今問題は、メニュー項目のクリックイベントが発生していないことです。誰もがこれを修正する方法を知っていますか?WPF DataGridRow ContextMenu MenuItemイベントが発生しないをクリック
XAML:
<DataGrid x:Name="NetworkEntryGrid" Margin="10,10,10,0" CanUserResizeColumns="True" CanUserReorderColumns="False" ColumnWidth="*" IsReadOnly="True" IsManipulationEnabled="False">
<DataGrid.Resources>
<Style TargetType="DataGridRow">
<Setter Property="ContextMenu">
<Setter.Value>
<ContextMenu>
<MenuItem Header="Install As">
<MenuItem x:Name="InstallLabelsMenuItem" Header="Labels" Click="InstallLabelsMenuItem_Click"/>
<MenuItem x:Name="InstallATagsMenuItem" Header="A Tags" Click="InstallATagsMenuItem_Click"/>
<MenuItem x:Name="InstallSpecialLabelsMenuItem" Header="Special Labels" Click="InstallSpecialLabelsMenuItem_Click"/>
<MenuItem x:Name="InstallReportsMenuItem" Header="Reports" Click="InstallReportsMenuItem_Click"/>
<MenuItem x:Name="InstallPawnTicketsMenuItem" Header="Pawn Tickets" Click="InstallPawnTicketsMenuItem_Click"/>
<MenuItem x:Name="InstallReceiptsMenuItem" Header="Receipts" Click="InstallReceiptsMenuItem_Click"/>
</MenuItem>
<MenuItem Header="Copy">
<MenuItem x:Name="CopyNameMenuItem" Header="Name" Click="CopyNameMenuItem_Click"/>
<MenuItem x:Name="CopyIpMenuItem" Header="IP" Click="CopyIpMenuItem_Click"/>
<MenuItem x:Name="CopyMacMenuItem" Header="MAC Address" Click="CopyMacMenuItem_Click"/>
<MenuItem x:Name="CopyVendorMenuItem" Header="Vendor" Click="CopyVendorMenuItem_Click"/>
</MenuItem>
</ContextMenu>
</Setter.Value>
</Setter>
</Style>
</DataGrid.Resources>
</DataGrid>
私はメッセージボックスを追加し、WriteLineメソッドは確かにクリックイベントメソッドにコマンドが、それらは表示されません。
のC#:
private void InstallLabelsMenuItem_Click(object sender, RoutedEventArgs e)
{
Console.WriteLine("Labels Clicked");
MessageBox.Show("Labels Clicked", "Menu Item Event", MessageBoxButton.OK);
AssignPrinter("Labels");
}
回答があれば –