Ich überschreibe ein Projekt in WPF mit Caliburn Framework. Ich kam aus C++ Welt, also habe einige Schwierigkeiten, selbst einfachste Dinge herauszufinden ...Caliburn MVVM WPF-Dialog mit OK-Aktion
Also, sagen wir, ich habe: MainView, MainViewModel, DialogView, DialogViewModel.
In MainView.xaml: ...
<MenuItem Name="Dialog" Header="Dialog"></MenuItem>
... Caliburn begrenze es in MainViewModel ein Verfahren:
public void Dialog()
{
dynamic settings = new ExpandoObject();
settings.WindowStartupLocation = WindowStartupLocation.Manual;
_windowManager.ShowWindow(new DialogViewModel(_windowManager), null, settings);
}
Es funktioniert gut, Dialog erscheint.
nun in diesem Dialog die ich habe:
<TextBox Name="Dimension1"/>
<TextBox Name="Dimension2"/>
plus, andere Textfelder, Kontrollkästchen usw. Dann gibt es Schaltflächen OK und Abbrechen:
<Button Content="OK" Name="OK"></Button>
<Button Content="Cancel" Name "Cancel"></Button>
Jetzt, wie es jetzt ist Sie sind an OK() und Cancel() -Methoden in DialogViewModel gebunden und ich kann nicht herausfinden oder finden Sie Informationen, wie Sie mit ihnen in DialogViewModel umgehen.
fand ich ein Beispiel, wenn DialogResultsAction Klasse erstellt wird, ich meine OK gebunden ist, kann/Tasten in dieser Klasse mit den Methoden abbrechen, aber nicht verstehen kann, wie weiter verfahren ist ...
Können Sie mir raten welche Richtung Ich gehe?
Haben Sie bei den Proben sehen, die mit Caliburn Mikro kommen? Wenn Sie kein Mikro verwenden, sollten Sie es sich ansehen. –
Ich benutze Micro. Wird in Proben schauen. Kannst du einen bestimmten empfehlen? – user1298416
Ich schaue in HelloWindowManager - wenn Benutzer auf bestimmte Schaltfläche im Dialogfeld klickt, übergibt es den Datenkontext der Schaltfläche an ViewModel.In meinem Fall habe ich etwa 20 Textfelder, Kontrollkästchen, Radiobuttons in einem Dialog, sollte ich sie alle als Parameter an ViewModel übergeben oder gibt es einen eleganteren Weg? – user1298416