gpt4 book ai didi

c# - 使用 PRISM 的 MVVM 模式上下文中的命令方法是什么?

转载 作者:行者123 更新时间:2023-11-30 20:48:06 24 4
gpt4 key购买 nike

阅读以下信息后,我仍然对 Command 方法与 Command 对象的含义感到困惑。 http://msdn.microsoft.com/en-us/library/gg405484(v=pandp.40).aspx#sec10

给出的唯一示例以及我可以通过搜索找到的唯一示例显示了命令对象的示例。有人可以张贴绑定(bind)到命令方法的按钮示例或指向其他地方的示例吗?它只是 View 模型类的常规方法、 View 模型类的静态方法还是完全不同的其他方法?

最佳答案

啊,我想通了。问题是 Prism 4 文档中存在的 Prism 5 开发人员指南中的一个部分被完全删除。在打开保存在本地计算机上的旧 Prism 4 PDF 之前,我感到很困惑。

这是 Prism 4 开发人员指南中的示例:

从 View 调用命令方法将命令实现为 ICommand 对象的另一种方法是将它们简单地实现为方法 View 模型,然后使用行为直接从 View 调用这些方法。这可以通过类似于从行为调用命令的方式来实现,如上一节所示。但是,您不使用 InvokeCommandAction,而是使用 CallMethodAction。以下代码示例调用底层 View 模型上的(无参数)提交方法。

XAML

<Button Content="Submit" IsEnabled="{Binding CanSubmit}">
<i:Interaction.Triggers>
<i:EventTrigger EventName="Click">
<i:CallMethodAction TargetObject="{Binding}" Method="Submit"/>
</i:EventTrigger>
</i:Interaction.Triggers>
</Button>

TargetObject 通过使用 {Binding} 绑定(bind)到底层数据上下文(即 View 模型)表达。 Method 参数指定要调用的方法。笔记:CallMethodAction 不支持参数;如果你需要将参数传递给目标方法,你有要将值作为 View 模型的属性提供,请切换到使用带有InvokeCommandAction,或编写您自己的将传递参数的 CallMethodAction 版本。

似乎许多人更喜欢命令对象的概念,但我对较新的手册明确列出两个选项但只描述了其中一个的事实感到困惑!

关于c# - 使用 PRISM 的 MVVM 模式上下文中的命令方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25087120/

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