C# 使用devexpress mvvm更改wpf用户控件
我正在尝试更改主窗口中的C# 使用devexpress mvvm更改wpf用户控件,c#,wpf,devexpress,devexpress-windows-ui,devexpress-wpf,C#,Wpf,Devexpress,Devexpress Windows Ui,Devexpress Wpf,我正在尝试更改主窗口中的UserControl。 我用的是devpress的poco视图模型 主窗口将显示,但loginView应显示的位置除外 “LoginViewModel_uuxxxxxx” LoginView.xaml是一个UserControl 我有 MainWindow.xaml <Grid Row="1"> <ContentControl Content="{Binding CurrentViewModel}"/> </
UserControl
。
我用的是devpress的poco视图模型
主窗口将显示,但loginView应显示的位置除外
“LoginViewModel_uuxxxxxx”
LoginView.xaml
是一个UserControl
我有
MainWindow.xaml
<Grid Row="1">
<ContentControl Content="{Binding CurrentViewModel}"/>
</Grid>
LoginViewModel.cs
public virtual object CurrentViewModel { get; set; }
public static MainWindowViewModel Create()
{
return ViewModelSource.Create(() => new MainWindowViewModel());
}
protected MainWindowViewModel()
{
CurrentViewModel = LoginViewModel.Create();
}
public static LoginViewModel Create()
{
return ViewModelSource.Create(() => new LoginViewModel());
}
protected LoginViewModel()
{
//unrelated code
}
尝试为
LoginViewModel
定义DataTemplate
:
<ContentControl Content="{Binding CurrentViewModel}">
<ContentControl.Resources>
<DataTemplate DataType="{x:Type local:LoginViewModel}">
<local:LoginView />
</DataTemplate>
</ContentControl.Resources>
</ContentControl>
只要给使用它的人一个提示;如果您的
ContentControl
可以是任意数量的不同视图模型类型,则需要在参考资料中定义多个数据模板,每种类型一个。