我正在使用(MainViewModel.cs)中的类属性在运行时加载MainView.xaml页面中的视图和ViewModel。
我没有对包含我的视图和视图模型(BaseModuleView,BaseModuleViewModel)的项目的直接引用
我已经从资源字典中获得了这个视图和视图模型,并将它们加载到我的类属性中
如果我只绑定Content
,视图加载,但我绑定视图和ViewModel,那么页面什么也不显示。
这是我的代码
这是我的主视图
<UserControl
x:Class="namespace.MainView"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:local="clr-namespace:namespace"
d:DataContext="{d:DesignInstance Type=local:MainViewModel, IsDesignTimeCreatable=False}"
mc:Ignorable="d" \>
<TabControl
TabStripPlacement="Top"
HorizontalAlignment="Stretch"
VerticalAlignment="Stretch"
SelectedIndex="0"\>
<TabItem
Header="Base"
Content="{Binding BaseModuleView}"
DataContext="{Binding BaseModuleViewModel}" />
</TabControl\>
</UserControl\>
字符串
- 我尝试只绑定视图(
Content="{Binding BaseView}"
),然后它工作 - 我试图只绑定ViewModel(
DataContext="{Binding BaseViewModel}"
)它的作品
但如果同时对Contet
和DataContext
使用Binding,则不起作用。
如果你有什么想法或建议让我试试,那会很有帮助的
1条答案
按热度按时间qni6mghb1#
我找到了我问题的答案。我在这里张贴它,如果有人发现它有帮助
1.我们可以将DataContext绑定到类本身中的View属性。
1.然后加载已经与MainView.xaml文件中相应ViewModel绑定的View属性
MainViewModel.cs中的我的类属性
字符串
将View和ViewModel加载到您的属性中,如下所示
型
xaml看起来像这样
型