使用MVVM Light创建了一个项目.ViewModels通常有很多看起来像这样的属性
class TestModel
{
public string DisplayValue { get; set; }
}
class TestViewModel : ViewModelBase
{
public string DisplayValue
{
private TestModel model = new TestModel();
get
{
return model.DisplayValue;
}
set
{
if (model.DisplayValue != value)
{
model.DisplayValue = value;
RaisePropertyChanged();
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
有时,该属性不在模型中,而是由本地私有字段支持.这种方法工作正常,但有大量的样板代码.如何减少代码重复?
有没有比我提出的解决方案更好的解决方案,还是我错过了MVVM Light内置的东西?
dot*_*NET 10
我的样板文件MVVM Light属性如下所示:
private string _Prop = "";
public string Prop
{
get { return _Prop; }
set { Set(ref _Prop, value); }
}
Run Code Online (Sandbox Code Playgroud)
通过使用Set底层ObservableObject类提供的功能(也可以使用ViewModelBase),这几乎是最薄的一个.
| 归档时间: |
|
| 查看次数: |
5032 次 |
| 最近记录: |