MVVM
1. CountDownView
Представляет один вид таймера, простой TextBlock, связанный со свойством CurrentValue
или что-то более красивое / сложное вместо TextBlock
2. CountDownViewModel
Представляет собой один таймер, выставьте свойство int CurrentValue
, отображаемое как номер обратного отсчета в представлении. Для реализации обратного отсчета вы можете использовать Sytem.Timers.Timer и Обработчик истекшего события , просто уменьшающий значение свойства CurrentValue
3. TimersView - для первого окна с 6 таймерами
- ItemsCountrol / ListView,
- ItemTemplate - CountDownView
ItemsSource - привязан к Timers
свойству TimersViewModel
, в основном TimersViewModel должно быть установлено в DataContext из TimersView, чтобы вы могли указать следующую привязку: (и каждый элемент будет привязан к одному таймеру )
<ListView ItemsSource="{Binding Timers}" ... />
4. TimersViewModel - выставить IEnumerable<CountDownViewModel> Timers
свойство
5. Окно настроек - Панель настроек
PS: INotifyPropertyChanged для всех свойств виртуальной машины, доступных для представлений
Домашнее задание для вас :
- Понимание принципов MVVM, привязок и команд WPF, это будет полезно для вас на протяжении всей вашей карьеры
- Реализация отношения между TimersViewModel и SettingsViewModel самостоятельно