我将使用由不同团队(在同一家公司)开发的用户控件,对于我们正在开发的应用,我们试图在 XAML 中描述所有数据绑定(bind)。
现在,如果我使用第三方用户控件,我应该期望他们为我的代码提供带有钩子(Hook)的基本 ViewModel,还是应该编写代码将用户控件绑定(bind)到我选择的 ViewModel?
干杯
AWC
最佳答案
这取决于用户控件的范围。如果它特定于应用程序并且不太可能在其他地方有用,那么是的,可能应该提供公共(public) ViewModel。
但是,公共(public) ViewModel 在希望控件可重用的情况下可能用处不大。 控件可以在内部使用 ViewModel,但这应该保密。然后宿主应用程序以类似于任何其他 WPF 控件的方式使用该控件,并创建它自己的 View 模型以将控件绑定(bind)到应用程序。
从本质上讲,ViewModel 通常是特定于应用程序的 - 它是专门针对该应用程序的需求量身定制的。而通用控件公开允许它们在任何应用程序中使用的属性和事件。
关于WPF - 是否应为用户控件提供 ViewModel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1939414/