Mat*_*att 2 .net wpf xaml .net-4.0
我有以下XAML:
<dxg:GridControl Name="theGrid" DataSource="{Binding Path=Groupings}">
<dxg:GridControl.ContextMenu>
<ContextMenu>
<MenuItem x:Name="gridprint" Command="{Binding Path=GridPrintCommand}"/>
</ContextMenu>
</dxg:GridControl.ContextMenu>
</dxg:GridControl>
Run Code Online (Sandbox Code Playgroud)
当GridPrintCommand执行时,其GridPrintCommand.Execute(param)方法的参数为null.我想将参数设置为网格控件.我可以在代码隐藏中这样做:
gridprint.CommandParameter = theGrid;
Run Code Online (Sandbox Code Playgroud)
这很好用.但是我试图在XAML中设置相同的东西(CommandParameter),而我却无法做到正确!我放的所有内容都会导致BindingExpressionError或null参数.我错过了什么?
试试这个:
<MenuItem x:Name="gridprint"
CommandParameter="{Binding PlacementTarget, RelativeSource=
{RelativeSource FindAncestor, AncestorType={x:Type ContextMenu}}}" />
Run Code Online (Sandbox Code Playgroud)
ContextMenus不是WPF的普通VisualTree的一部分,因此您必须使用PlacementTarget绑定以获取ContextMenu附加到的对象
| 归档时间: |
|
| 查看次数: |
6396 次 |
| 最近记录: |