是否有一种干净和/或可接受的标准方式从 IValueConverter 引用 ViewModel,或者这是否破坏了 MVVM 模式?基本上,我想根据 ViewModel 的其他属性转换 UI 中的绑定数据。我想这与如何从 IValueConverter 引用窗口/页面是同一个问题,因为对控件的引用没有传递给 Convert/ConvertBack 方法。
问问题
2372 次
2 回答
5
我建议向 ViewModel 添加一个新属性,以连接或组合 ViewModel 中的其他属性。这消除了对IValueConverter
所有在一起的需要。
查看有关何时使用 MVVM 的讨论。IValueConverters
于 2009-04-20T18:43:56.693 回答
0
每当我需要在转换器中使用 ViewModel 中的多个属性时遇到罕见的情况时,我只需将整个视图模型作为输入传递,ala;
<Textbox Text="{Binding, Converter={StaticResource WholeObjectConverter}"/>
至于获取调用转换的窗口/页面/视图的引用并不是一个好主意,因为这肯定会破坏 MVVM 模式。这个想法是您的视图和数据是独立的实体,并且设计上不应该相互了解。
但是,如果您想真正破解它,您可能会变得聪明并将所需的引用(ViewModel 或 View)作为绑定的 ConverterParameter 部分传递。
于 2013-11-20T16:01:39.410 回答