C# 与menuitem的DataContext绑定不起作用

C# 与menuitem的DataContext绑定不起作用,c#,wpf,menuitem,C#,Wpf,Menuitem,我试图通过在contextmenu中设置datacontext将menuitem的选中和未选中绑定到属性。没用了,谢谢 <xcdg:DataGridControl Name="DataGrid" x:Uid="ExtendedDataGrid" AutomationProperties.AutomationId="ExtendedDataGrid"

我试图通过在contextmenu中设置datacontext将menuitem的选中和未选中绑定到属性。没用了,谢谢

        <xcdg:DataGridControl Name="DataGrid" 
                          x:Uid="ExtendedDataGrid" 
                          AutomationProperties.AutomationId="ExtendedDataGrid" 
                          SelectionChanged="DataGrid_OnSelectionChanged"
                          VirtualizingStackPanel.VirtualizationMode="Recycling" 
                          Margin="0,0,0,0" 
                          Loaded="DataGrid_OnLoaded"
                          NavigationBehavior="RowOnly"
                          AutoCreateColumns="False"
                          ItemsSource="{Binding ElementName=DataGridContainer, Path=Measurements}">
<ContextMenu x:Key="StatisticsFunctionContextMenu" x:Uid="DataGridStatisticsFunctionContextMenu" AutomationProperties.AutomationId="DataGridStatisticsFunctionContextMenu" DataContext="{Binding ElementName=DataGridContainer, Path=StatsViewModel}">
    <MenuItem Name="StatisticsFunctions" Header="{x:Static Properties:Resources.StatisticsFunctionsMenu}" x:Uid="DataGridStatisticsFunctionContextMenu_StatisticsFunctions" AutomationProperties.AutomationId="DataGridStatisticsFunctionContextMenu_StatisticsFunctions">
        <MenuItem.Icon>
            <Image MaxWidth="16" MaxHeight="16" Source="pack://application:,,,/AnalysisView;component/Images/StatisticsFunctions.png"></Image>
        </MenuItem.Icon>
    <MenuItem Name = "StatisticsFunctionsShowMenu" IsCheckable="True" IsChecked="{Binding Path=StatisticsFunctionsSetting.IsShowChecked, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" Command = "commonview:ApplicationCommands.ShowStatisticsFunctions" Header="{x:Static Properties:Resources.StatisticsFunctionsShowMenu}" />
    </MenuItem>
</ContextMenu>
            <!-- STYLE: DataRow -->
            <Style TargetType="{x:Type xcdg:DataRow}" BasedOn="{StaticResource ZetasizerTableflowViewClassicSystemColorDataRowStyle}">
              <Style.Resources>
                <Style TargetType="xcdg:HierarchicalGroupLevelIndicatorPane">
                  <Setter Property="Template" Value="{StaticResource ZetasizerTableflowViewHierarchicalGroupLevelIndicatorPaneTemplate}"/>
                </Style>
                <Style TargetType="{x:Type xcdg:DataCell}" BasedOn="{StaticResource ZetasizerTableflowViewClassicSystemColorDataCellStyle}">
                    <Setter Property="ContextMenu" Value="{Binding Source={StaticResource StatisticsFunctionContextMenu} }" />
                </Style>
              </Style.Resources>
          </Style>
输出窗口中的错误消息:

System.Windows.Data错误:4:找不到与绑定的源 参考'ElementName=DataGridContainer'。 BindingExpression:Path=StatsViewModel;DataItem=null;目标元素 是“ContextMenu”名称=;目标属性是“DataContext”类型 “对象”


ContextMenu不是VisualTree的一部分,因此不能直接对ContextMenu进行任何数据绑定。请参考我的答案,谢谢我看到了链接。你能举个例子说明如何使用Tag属性来克服这个问题吗?你能发布XAML吗?你想为哪个控件添加contextmenuI已经重新编辑,以包含XAML代码。基本上,右键单击datagrid的datarow时会显示contextmenu。上下文菜单的名称是xaml中的StatisticsFunctionsShowMenu。非常感谢你。