Comment le WPF Bouton.IsCancel bien travailler?

L'idée de base derrière un bouton Annuler afin de permettre la fermeture de votre fenêtre avec une fuite de pression de Touche.

Vous pouvez définir la IsCancel bien sur
le bouton Annuler pour vrai, entraînant la
Bouton annuler pour fermer automatiquement
la boîte de dialogue sans avoir à manipuler les Cliquez
de l'événement.

Source: la Programmation de WPF (Griffith, Vend)

Donc cela devrait fonctionner

<Window>
<Button Name="btnCancel" IsCancel="True">_Close</Button>
</Window>

Toutefois le comportement que j'attends n'est pas pour moi. Le parent de la fenêtre est la fenêtre principale de l'application spécifiée par l'Application.StartupUri de la propriété. Ce qui fonctionne c'est

<Button Name="btnCancel" IsCancel=True" Click="CloseWindow">_Close</Button>

private void CloseWindow(object sender, RoutedEventArgs) 
{
    this.Close();
}
  • Est le comportement de IsCancel différentes selon que la Fenêtre est une fenêtre normale ou une boîte de Dialogue? Ne IsCancel travailler comme annoncé seulement si ShowDialog a été appelé?
  • Est explicite Cliquez sur gestionnaire requis pour le bouton (avec IsCancel true) pour fermer une fenêtre sur une Évasion de la presse?
InformationsquelleAutor Gishu | 2009-01-07