【发布时间】:2011-03-02 09:44:19
【问题描述】:
对于视图模型在数据绑定之外的作用,我有点困惑。我有一个内置 Silverlight 的菜单。该菜单有 x 个在运行时确定的菜单项。我想添加的功能之一是每个菜单项在悬停时都有不同的文本颜色。
视图的作用是拥有颜色选择器方法还是视图应该在其背后的代码中处理这个?
【问题讨论】:
标签: c# .net silverlight mvvm silverlight-4.0
对于视图模型在数据绑定之外的作用,我有点困惑。我有一个内置 Silverlight 的菜单。该菜单有 x 个在运行时确定的菜单项。我想添加的功能之一是每个菜单项在悬停时都有不同的文本颜色。
视图的作用是拥有颜色选择器方法还是视图应该在其背后的代码中处理这个?
【问题讨论】:
标签: c# .net silverlight mvvm silverlight-4.0
如果可能,通常我会在 XAML 中保留颜色/样式 - 我对 ViewModel 的看法是,它负责以 View 可以使用的方式提供来自模型的所有数据(即非图形内容)。
如果是复杂的逻辑决定了颜色并且它要被重用——我可能会想把它放在 ViewModel 中。
【讨论】:
数据绑定过程将视图模型用作“安全”方式,允许您对特定控件看到的记录进行排序/过滤/分组,而无需(必然)更改实际绑定的数据集(即是,除非/直到你告诉它)。 (FMI 读取 Bea's article here。)
我同意 Goblin 的观点,因为在 XAML 中最好将颜色等表示方面分开保存,例如在该控件使用的 DataTemplate 中。
【讨论】: