0

这里我有一个名为“ChildView”的 UserControl,它有一个名为“listView”的 ListView 控件。我正在尝试将此 listView 的“SelectedItems”属性绑定为我的主窗口中的命令参数,但没有发生。执行函数参数始终为空。

下面是代码片段。

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" />
…………..

任何帮助将不胜感激

4

1 回答 1

0

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" />
于 2012-04-27T09:51:02.537 回答