我们在某个控件中有一个渲染的3D模型,我们想在右键单击模型时打开一个上下文菜单。 但是,当右键单击背景时,我们需要打开一个不同的上下文菜单。
现在我已经实现了一个带有两个上下文菜单属性的控件,用于检查点击的像素是否为黑色(背景)。
我们希望有另一个属性接受视图模型的属性/命令,该属性/命令获取x,y坐标并返回应打开的上下文菜单类型。 关于如何做的任何想法?
答案 0 :(得分:0)
以下是解决问题的方法之一 - 使用DataTemplateSelector
。
在XAML
<Grid>
<Grid.ContextMenu>
<ContextMenu>
<ContextMenu.ItemContainerStyleSelector>
<!-- Nice I can have different ContainerStyles now depending on the context-->
</ContextMenu.ItemContainerStyleSelector>
<ContextMenu.ItemContainerTemplateSelector>
<!-- Nice I can have different Templates now for the content on the items depending on the context -->
</ContextMenu.ItemContainerTemplateSelector>
</ContextMenu>
</Grid.ContextMenu>
</Grid>
检查此答案 - 此处的描述为How to use a Selector