WPF MVVM为什么使用ContentControl + DataTemplate视图而不是直接的XAML窗口视图?

WPF MVVM为什么使用ContentControl + DataTemplate视图而不是直接的XAML窗口视图?,第1张

WPF MVVM为什么使用ContentControl + DataTemplate视图而不是直接的XAML窗口视图?

人们

DataTemplates
想根据ViewModel动态切换视图时使用这种方式:

<Window>    <Window.Resources>       <DataTemplate DataType="{x:Type local:VM1}">          <!-- View 1 Here -->       </DataTemplate>       <DataTemplate DataType="{x:Type local:VM2}">          <!-- View 2 here -->       </DataTemplate>    </Window.Resources>    <ContentPresenter Content="{Binding}"/></Window>

所以,

如果

Window.DataContext
是的实例
VM1
View1
则将显示

而如果

Window.DataContext
是的实例
VM2
View2
则将显示。

当然,如果只需要1个View且永不更改,则毫无意义。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5044935.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-15
下一篇 2022-11-15

发表评论

登录后才能评论

评论列表(0条)

保存