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

WPF MVVM:无法从主视图绑定子视图控件属性,wpf,mvvm,Wpf,Mvvm,这里有一个名为“ChildView”的UserControl,还有一个名为“ListView”的ListView控件。 我正试图从主窗口将此listView的“SelectedItems”属性绑定为命令参数,但没有成功。 execute函数参数始终为null 下面是代码片段 ChildView <UserControl x:Class="MyProj.Views.ChildView" ………….. <ListView x:Name="listView" …………..

这里有一个名为“ChildView”的UserControl,还有一个名为“ListView”的ListView控件。 我正试图从主窗口将此listView的“SelectedItems”属性绑定为命令参数,但没有成功。 execute函数参数始终为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

Path=DataContext.listView.SelectedItems在您的案例中不正确,因为DataContext是您的childviewmodel

将属性添加到childviewmodel并将其绑定到selectedItems,然后可以执行以下操作:

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


在您的ChildView用户控件上,您是将其DataContext设置为ViewModel,然后在ViewModel中创建命令,还是在将ViewModel设置为DataContext之前,ViewModel已完全构造和初始化?您好,Dean,我的孩子ViewModel在设置为DataContext之前已完全构造和初始化(同样是命令)。我从应用程序创建MainWindow ViewModel对象,从MainWindow ViewModel的构造函数创建子ViewModel对象,最后为MainWindow及其子视图设置数据DataContext。在这里,我无法在我的ChildViewModel中为ListView–SelectedItems创建属性,因为它不是DependencyProperty。请检查此链接处理此方案的一个解决方法是,将SelectedItems作为CommandParameter发送。
<Button Command="{Binding ElementName=childView, Path=DataContext.CmdCopyLines}"
        CommandParameter="{Binding ElementName=childView, Path=DataContext.MySelectedItems}" Label="Copy" />