Как получить доступ к содержимому одного окна из второго окна - PullRequest
0 голосов
/ 01 ноября 2011

Мне нужно создать приложение с двумя окнами:

Окно 1 Содержит 6 таймеров обратного отсчета.

Окно 2 Здесь будетнастройки отдельных таймеров.

Какое решение будет наилучшим для этой функции?Я буду использовать c # wpf и .Net 4.0

1 Ответ

3 голосов
/ 01 ноября 2011

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 для всех свойств виртуальной машины, доступных для представлений

Домашнее задание для вас :

  1. Понимание принципов MVVM, привязок и команд WPF, это будет полезно для вас на протяжении всей вашей карьеры
  2. Реализация отношения между TimersViewModel и SettingsViewModel самостоятельно
...