繁体   English   中英

MVVM DataTemplate 和非空视图 model 构造函数

[英]MVVM DataTemplate and non-empty view model constructor

我有以下数据模板:

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

问题是,我的观点 model 有一个构造函数,它接受由容器(统一)自动注入的参数。 但是,为了让 DataTemplate 工作,MyViewModel 需要有一个无参数的构造函数。

如果我使用 DataTemplate 创建它,还有其他方法可以将适当的值注入我的视图 model 吗?

您可能需要考虑使用 MVVM 框架,例如Caliburn.Micro ,并采用 ViewModel 优先的方法。

我不认为 Views 应该创建 ViewModels。

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

例如, ParentViewModel可能有一个名为ChildViewModel的属性。 ParentView将包含一个 ContentControl,它的 Content 绑定到ChildViewModel ,并且 DataTemplate 将用于告诉应用程序将ChildViewModel绘制为ChildView

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM