Potrzebuję napisać małą aplikację, aby odczytać plik konfiguracyjny i wygenerować z niego raport. Miałem nadzieję, że w końcu skorzystam z MVVM, ale rozpoczęcie gry jest dość trudne. Och, używam frameworka Caliburn.Micro.Przekazywanie stanu aplikacji między modelami w aplikacji WPV MVVM
Więc to, co mam, powłoki (podstawowy pogląd, że odbywają się inne poglądy), który ma taśmę z 3 przycisków na nim:
1) Otwórz plik 2) Pokaż ustawienia 3) Pokaż wyniki
Dwa inne widoki, SettingsView i ResultsView za pomocą przycisków do generowania i usuwania raportu.
Sądzę więc, że struktura widok byłby tak:
ShellView
Ribbon
OpenFileButton
SettingsButton
ResultsButton
ContentControl (hosts SettingsView and ResultsView)
SettingsView
CalculateResultsButton
ResultsView
CancelResultsButton
Najtrudniejsze jest to:
1. "Show settings" button is disabled until a file is opened (via Open file).
2. "Show results" button is disabled until a report is calculated (via a
method in SettingsViewModel).
3. If a report is calculated, the CalculateResultsButton is disabled and
CancelResultsButton is enabled and vice versa.
Proszę doradzić, w jaki sposób można to osiągnąć? Nie mam pojęcia, jaką strategię powinienem wybrać. Mój mózg nie-MVVM mówi, że powinienem stworzyć zmienną statusu, a potem jakoś związać te przyciski z tą zmienną, ale myślę, że to nie zadziała w świecie MVVM, prawda? Każdy przykład kodu byłby bardzo, bardzo doceniany!
Wielkie dzięki!
nie idealny. Caliburn Micro omija wszystkie guzy ICommand. http://caliburnmicro.codeplex.com/discussions/250844 –