将CommandBindings添加到ContextMenus

我有一个树视图,其中包含许多不同类型的节点。 树中的每个节点都有一个上下文菜单,该菜单是通过将其绑定到底层ViewModel中的ICommand对象数组而动态创建的。这工作正常,上下文菜单按预期工作。
<TreeView Name="treeView1" ItemsSource="{Binding}" ItemTemplateSelector="{StaticResource defSelect}">
    <TreeView.ItemContainerStyle>
        <Style TargetType="TreeViewItem">
            <Setter Property="ContextMenu">
                <Setter.Value>
                    <ContextMenu ItemsSource="{Binding Path=Commands}">
                    </ContextMenu>
                </Setter.Value>
            </Setter>
        </Style>
    </TreeView.ItemContainerStyle>
</TreeView>
但是我的命令没有命令绑定,所以当我选择treeviewitem时,主菜单(即剪切/复制/粘贴)不会改变。 我的问题是如何将命令绑定添加到每个树视图项? 我想我可以绑定他们,但我没有设法让它工作。 我唯一的另一个想法是在选择/取消选择treeviewitem时创建/删除绑定。 我还担心如果我设法将命令绑定直接绑定到treeviewitem,那么如果树很大,那么这可能是非常耗费资源的?在需要时创建和销毁绑定会更好吗?     
已邀请:

要回复问题请先登录注册