2011-07-04 16 views
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!

答えて

4

MenuItemにイベントハンドラを追加していないようで、何もしません。

<ContextMenu x:Key="DataRowContextMenu"> 
    <MenuItem Header="Detaillierte Fehlerbehandlung" 
       Click="MyClickEventHandler"/> 
</ContextMenu> 
+1

ha、そうですよ!それは働いている。 MenuItemイベントでは不要なので、イベントセッターを削除しました。 EventSetterで固定されていました。 ありがとうございました! – FiorinaN

+0

Silverlightの代わりにWPFを使用している場合、Commandはclickイベントハンドラよりもはるかに強力なものになります。 –

関連する問題