2010-04-27 59 views
0

我在包含一个列表框的页面上有一个控件。我也有一个细节视图的另一个控件。控件之间的WPF绑定

的控件都拥有自己的视图模型,他们的子控件绑定到。

Image Outlook。它有一个文件夹列表,当您选择一个文件夹时,详细信息控件将显示该文件夹的内容。

如何将详细控件绑定到列表控件中的选定项目?

回答

0

如果我得到了正确的答案,那么您将掌握主从情况。你能否将ViewModel的详细信息添加为主ViewModel的属性?这样你就不需要任何特别的东西。它应该自动工作。事情是这样的:

public class MyMasterViewModel 
{ 
    public List<MyDetailViewModel> Details 
    { get; set; } 
} 

MyMasterViewModel集集合作为DataContext以两种观点并进行适当的设置绑定。当您在主列表中移动时,详细列表将自动更新。
你可能需要设置IsSynchronizedWithCurrentItem属性:

<ListBox ItemsSource="{Binding}" 
     IsSynchronizedWithCurrentItem="True" 
     DisplayMemberPath="Something"/> 
+0

我的问题是,主视图是在不同的控制细节视图。我会尝试使用相同的ViewModel来控制两个控件 – 2010-04-27 15:13:47

+0

如果它们在同一个窗口上,那么你可以在窗口上设置'DataContext'。如果你有其他的窗口数据上下文,看看你是否可以将这两个视图放在一个容器(网格或某些布局面板)中,然后将'DataContext'设置为该容器。 – zendar 2010-04-27 15:24:38