WPF条件上下文菜单选择器

时间:2017-07-02 10:37:39

标签: c# wpf mvvm

我们在某个控件中有一个渲染的3D模型,我们想在右键单击模型时打开一个上下文菜单。 但是,当右键单击背景时,我们需要打开一个不同的上下文菜单。

现在我已经实现了一个带有两个上下文菜单属性的控件,用于检查点击的像素是否为黑色(背景)。

我们希望有另一个属性接受视图模型的属性/命令,该属性/命令获取x,y坐标并返回应打开的上下文菜单类型。 关于如何做的任何想法?

1 个答案:

答案 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