C# 跟踪单个字段的更改-Silverlight

C# 跟踪单个字段的更改-Silverlight,c#,.net,silverlight,C#,.net,Silverlight,我有一个页面有几个文本框。这些控件绑定到模型。我正在使用MVVM 假设我有三个文本框,FirstName、LastName和Company。所以在这个模型中,我有三个属性需要绑定。现在我需要跟踪每个字段发生的变化。如果FirstName与原始值不同,则需要使用不同的背景色对文本框进行着色 目前,我正在创建另一个名为FirstNameChanged的属性,并将背景绑定到此属性。当我更改FirstName时,这将被更新。对于3个字段,这似乎是可以的。但是当我有更多的字段时,属性的数量就会太多 有没有

我有一个页面有几个文本框。这些控件绑定到模型。我正在使用MVVM

假设我有三个文本框,
FirstName
LastName
Company
。所以在这个模型中,我有三个属性需要绑定。现在我需要跟踪每个字段发生的变化。如果
FirstName
与原始值不同,则需要使用不同的背景色对文本框进行着色

目前,我正在创建另一个名为
FirstNameChanged
的属性,并将背景绑定到此属性。当我更改
FirstName
时,这将被更新。对于3个字段,这似乎是可以的。但是当我有更多的字段时,属性的数量就会太多


有没有更好的方法来处理这个问题?

不太清楚跟踪这些变化是什么意思。如果你只是说当你编辑一个字段时,文本框应该改变颜色,那么这就是我要解决的问题

由于这是视图特有的功能,因此代码应位于视图的代码隐藏中,而不应位于viewmodel中

因此,我将做以下工作:

为文本框中的文本更改创建事件处理程序:

private void TextBox_TextChanged(object sender, TextChangedEventArgs e)
{
    TextBox textbox = sender as TextBox;
    textbox.Background = new SolidColorBrush(Colors.Green);
}

然后将所有文本框的
TextChanged
事件绑定到此事件处理程序。

您到底担心什么,存储(字段数量)还是接口(暴露属性的数量过多)?