2012-11-18 7 views
0

Je vous appelle ma fenêtre de dialogue personnalisée avec ce code:boîte de dialogue personnalisée en cause WPF

GUI.SLDialog sd = new GUI.SLDialog(); 
if (sd.ShowDialog() == false) 
{ 
    return; 
} 

Mais sd.ShowDialog() retourne toujours rien (je pense), parce que les pauses de la fonction, mais le point de passage à return; n'est pas atteint.

Dialog est rapprochaient quand je automatiquement le bouton Ajouter à:

this.DialogResult = false;//or true 

Tout le monde sait ce que je fais mal? Merci d'avance pour votre aide.
C.H.

@EDIT Ceci est mon SLDialog: XAML: http://wklej.org/hash/9fb67fb0c7c/ cs: http://wklej.org/hash/16e3ccc6c0d/

+0

Je suppose que 'DialogResult' est un' bool' et pas un 'System.Windows.Forms.DialogResult' ... – svbnet

+0

Yup. J'utilise wpf seulement partout. –

+0

Pouvez-vous montrer du code de 'SLDialog'? –

Répondre

1

Je ne pense pas que je peux vous dire grand-chose ici à moins que vous postez le code de la boîte de dialogue, mais j'ai une suggestion pendant ce temps.

Étant donné que vous n'êtes pas satisfait des boîtes de dialogue standard et que la personnalisation est clairement une option, pourquoi ne pas vous diriger vers ce à quoi les gens s'attendent? Au lieu de votre boîte de dialogue standard pourquoi ne pas simplement créer un contrôle utilisateur qui étend sur le reste de votre interface utilisateur et brouille tout à partir de l'arrière-plan? Tout comme une boîte de dialogue jquery que vous pourriez voir sur une page Web.

La modalité est plus facile à contrôler car il suffit de couvrir toute la fenêtre de votre application avec un rectangle translucide et de faire apparaître la fenêtre de dialogue comme vous le souhaitez.

Juste une suggestion.

+2

Cela nécessiterait en outre de contrôler en quelque sorte la modalité par rapport à l'exécution du code. Habituellement quand vous 'Window.ShowDialog()', l'exécution du code juste après cela est suspendue jusqu'à ce que vous fermiez la fenêtre. –

+0

de meilleures idées; s –

Questions connexes