【发布时间】:2014-03-16 14:05:15
【问题描述】:
我有两个级别的树视图,在第二个级别中,我有一个带有上下文菜单的模板,我试图将 ContextMenu 所属的 TreeViewItem 作为命令参数传递,但到目前为止还没有成功,在我的应用程序 TreeviewItem 有一个 HierarchicalDataTemplate 但这是我的 XAML 的简化示例:
<Grid
Background="Transparent">
<TreeView>
<TreeViewItem Header="blabla1"/>
<TreeViewItem Header="blabla2">
<TreeViewItem Header="innerblalbla">
<TreeViewItem.ContextMenu>
<ContextMenu>
<MenuItem Header="Test"
Command="{Binding PlacementTarget.DataContext.testCommand,
RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type ContextMenuu}}}"
CommandParameter=??????/>
</ContextMenu>
</TreeViewItem.ContextMenu>
</TreeViewItem>
</TreeViewItem>
</TreeView>
</Grid>
和我的 viewModel(DataContext 在后面的代码中设置):
class myViewModel : INotifyPropertyChanged
{
public myViewModel()
{
testCommand = new DelegateCommand(test);
}
public DelegateCommand testCommand { get; set; }
private void test()
{
var x = 1;
}
}
【问题讨论】:
标签: c# wpf binding command contextmenu