WPF MVVM:无法从主视图绑定子视图控件属性

时间:2012-04-27 08:41:03

标签: wpf mvvm

这里我有名为“ChildView”的UserControl,它有一个名为“listView”的ListView控件。 我试图从我的主窗口绑定此listView的“SelectedItems”属性作为命令参数,但没有发生。 execute function参数始终为null。

以下是代码段。

ChildView 

<UserControl x:Class="MyProj.Views.ChildView"
…………..
    <ListView x:Name="listView" …………..


MainView

…………..
<views:ChildView   x:Name="childView" />
…………..
<Button Command="{Binding ElementName=childView, Path=DataContext.CmdCopyLines}" CommandParameter="{Binding ElementName=childView, Path=DataContext.listView.SelectedItems}" Label="Copy" />
…………..

但它直接来自儿童观点

ChildView 

<UserControl x:Class="MyProj.Views.ChildView"
…………..
    <ListView x:Name="listView" 
…………..
<Button Command="{Binding CmdCopyLines}" CommandParameter="{Binding ElementName=listView, Path=SelectedItems}" Label="Copy" />
…………..

非常感谢任何帮助

1 个答案:

答案 0 :(得分:0)

Path = DataContext.listView.SelectedItems在你的情况下是不对的,因为你的datacontext是你的childviewmodel

向您的childviewmodel添加一个Property并将其绑定到您的selectedItems,然后您可以执行以下操作:

<Button Command="{Binding ElementName=childView, Path=DataContext.CmdCopyLines}"
        CommandParameter="{Binding ElementName=childView, Path=DataContext.MySelectedItems}" Label="Copy" />