這裏我有名爲「ChildView」的UserControl,它有一個名爲「listView」的ListView控件。 我想綁定這個listView的「SelectedItems」屬性作爲命令參數從我的主窗口,但沒有發生。 執行函數參數始終爲空。WPF MVVM:無法從主視圖中綁定子視圖控件屬性
下面是代碼片段。
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" />
…………..
任何幫助,將不勝感激
在您的ChildView用戶控件上,您是否將其DataContext設置爲您的ViewModel,然後在您的ViewModel中創建Command,或者在將ViewModel設置爲DataContext之前完全構建並初始化了ViewModel? – 2012-04-27 09:03:40
嗨,Dean,我的孩子ViewModel完全構造並初始化(也是命令),然後將其設置爲DataContext。從應用程序我創建MainWindow ViewModel對象,並從MainWindow ViewModel的構造函數我創建子ViewModel對象,最後我爲MainWindow和其子View設置Data DataContext。 – Shibu 2012-04-27 09:45:26