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