gpt4 book ai didi

wpf - 使用 MVVM 管理复杂的 UI

转载 作者:行者123 更新时间:2023-12-03 09:09:41 25 4
gpt4 key购买 nike

我的问题实际上是关于使用 MVVM 启动应用程序:

我的主屏幕将托管许多屏幕。我知道他们将是用户控件。

但是我看不到我在哪里实例化,当我想要时,当我显示它们时,当我隐藏它们时?

逻辑对我来说不是很清楚。有人可以向我解释或指出一个简单明了的例子吗?

谢谢
约翰

最佳答案

想象一下,您有一个绑定(bind)到主屏幕的 MainViewModel。让 MainViewModel 成为一个单例类,并且它有一个“CurrentViewModel”属性(实现了 INotifypropertyChanged)。现在您可以实例化任何特定的 ViewModel(基于命令/单击)并按如下方式分配实例
MainViewModel.Instance.CurrentViewModel = new SomeViewModel();
所以现在你的主屏幕 XAML 将有

  <Window> 
<ContentControl Content="{Binding CurrentViewModel,Source={x:static vm:MainViewModel.Instance}}"
</Window>

您需要为每个 ViewModel( View 到 ViewModel 映射)定义适当的 DataTemplates。看起来像
<DataTemplate DataType="{x:Type vm:SomeViewModel}">
<view:SomeView/>
</DataTemplate>

这里SomeView是UserControl对应的SomeVieModel。

希望这非常简要地解释了 MVVM 架构

关于wpf - 使用 MVVM 管理复杂的 UI,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1751855/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com