Я рассматриваю переходную форму WPF (mvvm) на asp.net (MVC). Я подумал, что было бы полезно для здравомыслия провести сравнение asp.net(MVC) и WPF(MVVM).
Как будет выглядеть MVC-эквивалент следующего примера WPF? Чтобы быть конкретным, мне любопытно, как поддерживается разделение пользовательского интерфейса и логики приложения и, что, возможно, более важно, существует ли эквивалент привязки данных. Как два разных шаблона проектирования выполнят один и тот же сценарий.
Модель просмотра
В вашей модели представления у вас будет класс, в котором компонент в представлении также будет привязан. Что-то на мелодию:
namespace solution.ViewModels
{
public class MainViewModel : BaseViewModel
{
private DateTime _fromDate;
public DateTime FromDate
{
get { return _fromDate; }
set { _fromDate = value; OnPropertyChanged("FromDate"); }
}
private DateTime _toDate;
public DateTime ToDate
{
get { return _toDate; }
set { _toDate = value; OnPropertyChanged("ToDate");}
}
}
}
Где BaseViewModel:
public class BaseViewModel : INotifyPropertyChanged
{
public event PropertyChangedEventHandler PropertyChanged;
protected void OnPropertyChanged(string propertyName)
{
if (PropertyChanged != null)
{
PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
}
}
}
Просмотреть
<Window .......>
<Grid>
<DatePicker SelectedDate = "{Binding ToDate}">
<DatePicker SelectedDate = "{Binding FromDate}">
</Grid>
</Window>