W WinForms możemy określić DialogResult dla przycisków. W WPF możemy zadeklarować w XAML tylko Cancel:Deklaracja WPF DialogResult?
<Button Content="Cancel" IsCancel="True" />
Dla innych musimy złapać ButtonClick i napisać kod tak:
private void Button_Click(object sender, RoutedEventArgs e)
{
this.DialogResult = true;
}
Używam MVVM, więc mam tylko kod XAML dla Windows. Ale w przypadku okien modalnych muszę napisać taki kod i nie podoba mi się to. Czy istnieje bardziej elegancki sposób na takie rzeczy w WPF?
Duplikat: http://stackoverflow.com/questions/ 501886/wpf-mvvm-newbie-how-should-the-viewmodel-close-the-form –
Kiedyś czułam w ten sposób używanie kodu z MVVM, ale szczerze mówiąc, myślę, że ustawienie pojedynczej flagi w kodzie za * jest * najbardziej eleganckie rozwiązanie. Po co walczyć. Nie ma sensu pisać złożonego przywiązania do zachowania z niewielkim zyskiem. – craftworkgames