如何在WPF(MVVM)中将对象从一个类传递到另一个类?

时间:2011-04-07 08:18:00

标签: wpf object mvvm

我正在学习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>
...
..

2 个答案:

答案 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

你想要传递的对象是什么?