我正在尝试将ViewModel中的常量值绑定到View。我应该选择常量变量还是静态属性?两者都有效,但是有一个优势吗?
修改
我的目的是将ValueConverter逻辑移动到viewmodel中的属性。因此,无论转换器使用哪个静态值,我都会将它们移动到我的视图模型中。因此问题。
因为您建议将它们保留在视图中。我想问一下我应该将转换器逻辑移到ViewModel的另一个问题吗?有没有垮台?
答案 0 :(得分:1)
如果它确实是一个静态不变的值,那么我建议您在XAML中使用该值的静态实例。没有真正的性能差异,但存在可维护性差异 - 该值不会以任何方式模糊,并且可以在XAML中立即跟踪。
您必须记住的是,从技术上讲,您应该能够将任何视图模型绑定到您的视图 - 这是模式的目的之一(从视图模型和其他工作代码中分离视图)。如果您在viewmodel中存储了这个不变的值,然后在某个阶段更改了viewmodel,并且新的viewmodel具有不同的值或根本没有值,会发生什么?