C# 关于mvvm结构构建的思考

C# 关于mvvm结构构建的思考,c#,windows-phone-7,mvvm,mvvm-light,C#,Windows Phone 7,Mvvm,Mvvm Light,我使用c#和xaml在windows phone上开发了一个应用程序 我想把我自己的项目改成mvvm风格。 当我建造结构时,我面临一个问题: 我的应用程序中的一个业务逻辑是,当用户通过列表框更改类别时,我将更改当前页面中控件的颜色 这在使用代码隐藏时很容易,我只编写了一个助手方法,当用户触发finish事件时可以运行该方法 if (category==1){ grid.color = red; button.color = red; listbox.color = red;} els

我使用c#和xaml在windows phone上开发了一个应用程序

我想把我自己的项目改成mvvm风格。 当我建造结构时,我面临一个问题:

我的应用程序中的一个业务逻辑是,当用户通过列表框更改类别时,我将更改当前页面中控件的颜色

这在使用代码隐藏时很容易,我只编写了一个助手方法,当用户触发finish事件时可以运行该方法

if (category==1){
  grid.color = red;
  button.color = red;
  listbox.color = red;}
else if (category==2){
  grid.color = blue;
  button.color = blue;
  listbox.color = blue;}

但如何以mvvm风格实现这一点呢?在mvvm中,如何一次更改一组绑定?

首先,将视图模型中的属性绑定到列表框的选定项


然后将控件的颜色属性绑定到视图模型中的某个属性。您还需要指定一个ValueConverter来将项目转换为颜色。

看来我真是个傻瓜-问自己什么能做得更好,并在最好的地方寻找答案,这并不是一个傻瓜。为自己愿意学习而自豪!