gpt4 book ai didi

wpf - 如何动态地将 ViewModel 连接到其适当的 View?

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

我有一个 WPF 应用程序,它有一个 MainView.xaml 加载的窗口大量页面对象 在运行时,将它们加载到 查看模型 , 并显示它们 在菜单中动态 .

我的 MainViewModel 有一个 可观察集合 查看模型 我将它们分别绑定(bind)到它们相应的 浏览量 在 MainView.xaml 文件中。

但是,有没有办法 自动化 这样我就不必每次添加页面时都进行这些手动输入?

<Window.Resources>

<DataTemplate DataType="{x:Type vm:PageItemManageCustomersViewModel}">
<v:PageItemManageCustomersView/>
</DataTemplate>

<DataTemplate DataType="{x:Type vm:PageItemManageEmployeesViewModel}">
<v:PageItemManageEmployeesView/>
</DataTemplate>

<DataTemplate DataType="{x:Type vm:PageItemReportsViewModel}">
<v:PageItemReportsView/>
</DataTemplate>

</Window.Resources>

这难道不是“ ServiceLocator ”或“ Container ”应该做的事情,将 View 连接到 View 模型吗?我读到上面是 常用方式以匹配 MVVM 模式中的 ViewModels 和 Views,但它以 的形式出现位静对我来说。将不胜感激任何想法。

最佳答案

另一种选择是使用一个类来根据某个键解析 ViewModel。然后,您可以在主视图中使用它来为您的控件解析正确的 View 模型。

public static class ViewModelFactory
{
public ViewModelBase Create(string someKeyHere)
{
//Some logic to resolve a view model
}
}

关于wpf - 如何动态地将 ViewModel 连接到其适当的 View?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1028275/

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