gpt4 book ai didi

c# - MVVM DataTemplate 和非空 View 模型构造函数

转载 作者:太空狗 更新时间:2023-10-30 01:25:37 24 4
gpt4 key购买 nike

我有以下数据模板:

    <DataTemplate DataType="{x:Type vm:MyViewModel}">
<views:MyView/>
</DataTemplate>

问题是,我的 View 模型有一个构造函数,该构造函数采用由容器 (unity) 自动注入(inject)的参数。不过,为了让 DataTemplate 正常工作,MyViewModel 需要有一个无参数的构造函数。

如果我使用 DataTemplate 创建 View 模型,还有其他方法可以将适当的值注入(inject) View 模型吗?

最佳答案

我不认为 View 应该创建 View 模型。

ViewModels 应该创建其他 ViewModels,View 只是定义如何绘制 ViewModel。

例如,ParentViewModel 可能有一个名为 ChildViewModel 的属性。 ParentView 将包含一个 ContentControl,其 Content 绑定(bind)到 ChildViewModel,DataTemplate 将用于告诉应用程序将 ChildViewModel 绘制为 subview

话虽如此,您的 View 当前如何创建 ViewModel?您始终可以将 DependencyProperties 添加到您的 View ,并使用这些属性在 View 的加载事件中构建您的 ViewModel。

关于c# - MVVM DataTemplate 和非空 View 模型构造函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6583344/

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