我正在学习WPF的MVVM。我知道如何路由事件并在View,ViewModel,Model中拆分代码。我在我的main-XAML中有一个TabControl,并将标签分成不同的视图。 我的问题是,我如何将一个对象从一个类传递到另一个类? (从MainWindow.cs到SubWindow.cs)
MainWindowRessources XAML:
....
<DataTemplate DataType="{x:Type vm:SubWindow}">
<vw:SubWindow />
</DataTemplate>
<vm:SubWindow x:Key="subView" />
..
MainWindow XAML:
<Window.Resources>
<ResourceDictionary Source="MainWindowResources.xaml" />
</Window.Resources>
...
..
<TabItem>
<ContentControl Content="{StaticResource subView}" />
</TabItem>
...
..
答案 0 :(得分:2)
您应该考虑实现中介模式,以允许您的视图模型相互通信。
有关详细信息,请参阅this Stackoverflow answer。
答案 1 :(得分:0)
根据上下文/用途,您可以在DependencyProperty
类上创建SubWindow
,并将该对象作为参数ala <vm:SubWindow MyNewProperty="some-value-or-object here"/>
传递。
有关创建DependencyProperties的信息:http://msdn.microsoft.com/en-us/library/ms752914.aspx
你想要传递的对象是什么?