C# WPF数据模板和viewModel的自动创建对象
我想在我的WPF应用程序中实现导航(使用MVVM模式)。 存在以下视图模型:C# WPF数据模板和viewModel的自动创建对象,c#,wpf,mvvm,datatemplate,C#,Wpf,Mvvm,Datatemplate,我想在我的WPF应用程序中实现导航(使用MVVM模式)。 存在以下视图模型: MainViewModel:包含功能区的应用程序的“框架” 委托人视图模型:必须显示在 “框架” RecipientViewModel:另一个“子”视图 为了让WPF决定在“框架”中显示哪个视图,我使用了在App.xaml中声明的DataTemplates,如下所示: <Application x:Class="MyProject.App" xmlns="http://sche
- MainViewModel:包含功能区的应用程序的“框架”
- 委托人视图模型:必须显示在 “框架”
- RecipientViewModel:另一个“子”视图
<Application x:Class="MyProject.App"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:viewModels="clr-namespace:MyProject.ViewModels"
xmlns:views="clr-namespace:MyProject"
StartupUri="MainWindow.xaml">
<Application.Resources>
<BooleanToVisibilityConverter x:Key="BoolToVis"/>
<DataTemplate DataType="{x:Type viewModels:ConsignorViewModel}">
<views:ConsignorUC />
</DataTemplate>
<DataTemplate DataType="{x:Type viewModels:RecipientViewModel}">
<views:RecipientUC />
</DataTemplate>
</Application.Resources>
</Application>
现在我的孩子视图是委托人视图。创建新的委托人UC时,将创建委托人ViewModel的新对象。因此,我必须创建不同的委托人视图模型对象,但我应该只有一个。您的问题实际上在这里:
<UserControl.DataContext>
<local:ConsignorViewModel />
</UserControl.DataContext>
使用这种方法,您可以将子视图的
DataContext
设置为窗口视图模型的CurrentViewModel
属性的值。您的问题实际上是:
<UserControl.DataContext>
<local:ConsignorViewModel />
</UserControl.DataContext>
使用这种方法,您可以将子视图的
DataContext
设置为窗口视图模型的CurrentViewModel
属性的值。您的问题实际上是:
<UserControl.DataContext>
<local:ConsignorViewModel />
</UserControl.DataContext>
使用这种方法,您可以将子视图的
DataContext
设置为窗口视图模型的CurrentViewModel
属性的值。您的问题实际上是:
<UserControl.DataContext>
<local:ConsignorViewModel />
</UserControl.DataContext>
使用这种方法,可以将子视图的
DataContext
设置为窗口视图模型的CurrentViewModel
属性的值。为什么要更改标题?你的问题中没有关于多线程的内容,所以标题有点混乱。对不起,我以为有不同的“线程”。情况似乎并非如此。希望新标题更好。你为什么要更改标题?你的问题中没有关于多线程的内容,所以标题有点混乱。对不起,我以为有不同的“线程”。情况似乎并非如此。希望新标题更好。你为什么要更改标题?你的问题中没有关于多线程的内容,所以标题有点混乱。对不起,我以为有不同的“线程”。情况似乎并非如此。希望新标题更好。你为什么要更改标题?你的问题中没有关于多线程的内容,所以标题有点混乱。对不起,我以为有不同的“线程”。情况似乎并非如此。希望新标题更好。非常感谢。这就是解决办法。我不知道这种可能性,所以必须深入研究XAML。非常感谢。这就是解决办法。我不知道这种可能性,所以必须深入研究XAML。非常感谢。这就是解决办法。我不知道这种可能性,所以必须深入研究XAML。非常感谢。这就是解决办法。我不知道这种可能性,必须深入研究XAML。