4
をトリガしません..私はここに のContextMenu - イベントは、私はこのトピックについて多くのことを検索した
は私の質問です..私はWPFに非常に新たなんだと言っている: 私が持っていますdatagrid - 行にcontextmenuが必要です。私はこのコードを持っている:私は左のみとき(
<Grid>
<TabControl>
<TabItem>
<Grid>
<DataGrid Grid.Row="2" Grid.ColumnSpan="3" AutoGenerateColumns="False" HorizontalAlignment="Stretch" Margin="6,6,0,0" Name="gridErrors"
VerticalAlignment="Stretch" AlternatingRowBackground="Gainsboro" AlternationCount="2" SelectionChanged="gridErrors_SelectionChanged"
IsEnabled="False">
<DataGrid.Resources>
<ContextMenu x:Key="DataRowContextMenu">
<MenuItem Header="Detaillierte Fehlerbehandlung" />
</ContextMenu>
</DataGrid.Resources>
<DataGrid.RowStyle>
<Style TargetType="{x:Type DataGridRow}" x:Name="styleForDataRow">
<EventSetter Event="PreviewMouseLeftButtonDown" Handler="OnDataGridRow_PreviewMouseLeftButtonDown" />
<Setter Property="ContextMenu" Value="{StaticResource DataRowContextMenu}">
<!--<Setter.Value>
<ContextMenu>
<MenuItem Header="Detaillierte Fehlerbehandlung" />
</ContextMenu>
</Setter.Value>-->
</Setter>
</Style>
</DataGrid.RowStyle>
<DataGrid.Columns>
<DataGridTextColumn Binding="{Binding Number}" Header="Input Nummer" IsReadOnly="True"></DataGridTextColumn>
<DataGridTextColumn Binding="{Binding Error}" Header="Meldung" IsReadOnly="True"></DataGridTextColumn>
<DataGridTextColumn Binding="{Binding DetailInfo}" Header="Detail" IsReadOnly="True"></DataGridTextColumn>
</DataGrid.Columns>
</DataGrid>
</TabItem>
</TabControl>
</Grid>
これは正常に動作します、私は、行の右clickinでコンテキストメニューを見ることができますが、唯一のものは、イベントが発生しないことですグリッド自体ではなく、コンテキストメニューCLIK)
誰が私を助けることができる場合、私はそれを感謝...それは私の一日:-)を救う)
事前にどうもありがとう!
kr!
ha、そうですよ!それは働いている。 MenuItemイベントでは不要なので、イベントセッターを削除しました。 EventSetterで固定されていました。 ありがとうございました! – FiorinaN
Silverlightの代わりにWPFを使用している場合、Commandはclickイベントハンドラよりもはるかに強力なものになります。 –