有人可以解释一下我在这里使用的代码是如何工作的吗?
我的详细问题如下:
再次强调,一切都工作得很完美,但我不明白为什么,所以这只是一个问题,以便理解模板选择和绑定。
<Window.Resources>
<DataTemplate DataType="{x:Type VM:PBRKEntryViewModel}">
<V:Overview />
</DataTemplate>
<DataTemplate DataType="{x:Type VM:LoginViewModel}">
<V:LoginView />
</DataTemplate>
</Window.Resources>
<Grid>
<ContentPresenter Content="{Binding CurrentView}"/>
</Grid>
我的详细问题如下:
- 为什么ContentPresenter可以展示正确的UserControl,而不需要引用不同的DataTemplates?我可以看到,ContentPresenter的内容绑定到我的ViewModels CurrentViewProperty,但我的DataTemplates没有绑定?
- 另一个很棒的功能是,UserControls使用正确的ViewModels而无需声明。(或者在没有声明的情况下,我看不到声明)
再次强调,一切都工作得很完美,但我不明白为什么,所以这只是一个问题,以便理解模板选择和绑定。