有人可以解释我在这里使用的代码是如何工作的吗?WPF DataTemplate ContentPresenter“绑定”
<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为什么能提供正确的用户控件不参考不同的DataTemplates?我可以看到,ContentPresenter内容绑定到ViewModels的CurrentViewProperty,但我的DataTemplates不是?
- 另一个很棒的功能是UserControls使用正确的ViewModels而不需要声明。 (或没有我可以看到的声明)
我找到这个描述http://msdn.microsoft.com/en-us/library/System.Windows.Controls.ContentPresenter(v=vs.110).aspx但是备注部分没有回答这个问题。 (或者我无法看到他们......)
再一次,只是为了清楚起见,一切都工作完美,但我不明白为什么,所以这只是一个问题,了解选择模板和绑定。
现在我明白了,非常感谢你! – Bador