我有一个绑定到 ViewModel 的视图
DataContext="{Binding MyViewModel, Source={StaticResource Locator}}">
文本框,...绑定到 ViewModel 中的属性:
<TextBox Text="{Binding MyValue, Mode=TwoWay}"/>
<TextBlock Text="{Binding DisplayValue}"/>
ViewModel 中的属性:
public MyViewModel()
{
DisplayValue = "0€";
MyValue = "0";
}
private string _myvalue;
public string MyValue
{
get
{
return _myvalue;
}
set
{
_myvalue = value;
ChangeValue();
RaisePropertyChanged(() => MyValue);
}
}
private string _displayvalue;
public string DisplayValue
{
get
{
return _displayvalue;
}
set
{
_displayvalue = value;
RaisePropertyChanged(() => DisplayValue);
}
}
private void ChangeValue()
{
//do something here and change the values of the property, e.g.:
DisplayValue = MyValue + "€";
}
这只是一个片段。我通常在 VIEWMODEL 中有大约 50 个属性,所有方法也在 ViewModel 中(意味着 RelayCommands 和方法,将在大约 50% 的属性的设置器中调用)。如您所见,我没有使用任何模型。这是使用 MVVM 的正常方式还是应该创建一个新类并将所有属性/方法放在新类(模型)中?...但是我应该如何将视图中的元素与属性中的属性绑定模型,当视图 DataContext 绑定到 ViewModel 时?
编辑:说清楚。我有一个 TextBox,TextBox 绑定到 ViewModel 中的一个属性。这是使用 MVVM 的正确方法吗?我应该只在我有一个列表(例如 ComboBox)时使用 Model-Class,还是在我有几个 TextBox 时使用(在我看来这有点愚蠢和不必要)?