【发布时间】:2016-08-11 11:54:37
【问题描述】:
我创建了一个样式,而不是将其绑定到 DataGrid.RowStyle Row 样式。 ContextMenu 出现,我可以从菜单项中进行选择,但 command 不会执行。我用其他控件测试了 command 并且工作正常。
<Style x:Key="DataGridRow" TargetType="{x:Type DataGridRow}">
<Setter Property="ContextMenu">
<Setter.Value>
<ContextMenu DataContext="{Binding PlacementTarget.DataContext, RelativeSource={RelativeSource Self}}">
<MenuItem Header="Add" Command="{Binding AddMessageContextMenu_Command}"/>
<MenuItem Header="Edit" Command="{Binding EditMessage_Command}"/>
</ContextMenu>
</Setter.Value>
</Setter>
<Style>
<DataGrid Name="SearchTableDataGrid" ItemsSource="{Binding SearchTableDataGrid_ItemSource}"
<DataGrid.RowStyle>
<Style TargetType="{x:Type DataGridRow}">
<Style.Triggers>
<Trigger Property="AlternationIndex" Value="0">
<Setter Property="Background" Value="#FBFCFC" />
</Trigger>
<Trigger Property="AlternationIndex" Value="1">
<Setter Property="Background" Value="#f6f8f8" />
</Trigger>
</Style.Triggers>
</Style>
</DataGrid.RowStyle>
</DataGrid>
【问题讨论】:
-
我使用了标签,但命令仍然没有执行。
-
您需要在运行时使用 Visual Studio 2015 中的工具或类似 Snoop 的工具检查您的绑定。