2010-05-26 9 views
1

Comment travailler avec WIndows Forms dans WPF?Comment travailler avec WIndows Forms dans WPF?

Dans mon programme WPF, j'ai créé une classe Windows Form. Dans ce formulaire, j'ai placé un bouton OK et je suis allé dans les propriétés du bouton et définir le DialogResult à OK. Maintenant, je fais appel cette boîte de dialogue (formulaire de fenêtre) des MainWindow.xaml.cs:

 DialogResult dres; 
    dres = form.ShowDialog(); 
    if (dres != DialogResult.OK) return; 

Le compilateur se plaint:

Error 3 'System.Nullable<bool>' does not contain a definition for 'OK' and no extension method 'OK' 
accepting a first argument of type 'System.Nullable<bool>' could be found (are you missing a using directive 
or an assembly reference?) 

Répondre

2

Le compilateur est de trouver une autre définition de DialogResult, probablement quelque part dans votre code. Orthographier son nom complètement pour éviter l'ambiguïté:

System.Windows.Forms.DialogResult dres; 
dres = form.ShowDialog(); 
if (dres != System.Windows.Forms.DialogResult.OK) return; 
+0

La première occurrence n'a pas besoin d'être modifiée, mais la deuxième occurrence doit; le compilateur trouve la propriété DialogResult de la classe au lieu de l'énumération DialogResult ici. –

0

C'est parce que vous devez comparer la propriété DialogResult du formulaire objet, pas l'objet c'est soi-même. Remplacez-le par cela et il devrait fonctionner:

if(dres.DialogResult != DialogResult.OK) return; 
+0

dres est défini comme ceci: DialogResult dres; Ainsi, System.Windows.Forms.DialogResult 'ne contient pas de définition pour' DialogResult '. – xarzu