【发布时间】:2020-02-17 07:15:55
【问题描述】:
我正在使用 Xamarin 制作移动应用程序。并使用 Prism 实现 MVVM,在 Views 和 ViewModels 之间松散绑定。 在一个视图中,我从后面的代码以编程方式创建按钮,如下所示:
var button = new Button {
Text = e.ToString(),
Command =
};
Container.Children.Add(button);
按钮已创建,但我还没有找到将命令属性绑定到 ViewModel 上的命令的方法。我想松散地绑定它。根据 MVVM,View 对 ViewModel 一无所知。 如果我还想参数化命令,情况会发生很大变化吗? 有没有办法做到这一点?任何帮助将不胜感激。
【问题讨论】:
-
“根据 MVVM,View 无法知道有关 ViewModel 的任何信息。”你在哪里读到的?您认为为什么会这样?
-
我认为它是这样工作的。如果我错了,请纠正我。
-
View 可以同时了解 ViewModel 和 Model。理想情况下,ViewModel 不应该了解 View,Model 也不应该了解 ViewModel。
-
另外,我总是更喜欢将项目控件、列表框等绑定到视图模型上的某个列表,而不是在后面的代码中创建按钮,这是反 mvvm。
-
@Haukinger 也许我会那样做。
标签: c# mvvm xamarin.forms prism loose-coupling