{"id":4067,"date":"2014-05-28T16:27:45","date_gmt":"2014-05-28T14:27:45","guid":{"rendered":"https:\/\/www.kolja-engelmann.de\/blog\/?p=4067"},"modified":"2014-05-28T16:27:45","modified_gmt":"2014-05-28T14:27:45","slug":"c-dialogresult-eines-wpf-dialogs-setzen-und-abfragen","status":"publish","type":"post","link":"https:\/\/www.kolja-engelmann.de\/blog\/2014\/05\/c-dialogresult-eines-wpf-dialogs-setzen-und-abfragen\/","title":{"rendered":"C# &#8211; DialogResult eines WPF Dialogs setzen und abfragen"},"content":{"rendered":"<p>Heiliges Brausepulver, wieso kann ich mir nicht merken wie ich das <strong>DialogResult-Property<\/strong> eines WPF Dialogs setze bzw. auslese? Das wird hier jetzt ein f\u00fcr allemal hingeschrieben und dann hoffentlich endlich im Hirn abgespeichert.<\/p>\n<h3>Der Negativfall <code>DialogResult = false<\/code><\/h3>\n<p>Dieser Wert kann entweder im Code per Hand gesetzt werden, wird aber auch automatisch gesetzt, wenn ein Button das Attribut <code>IsCancel = true<\/code> erhalten hat, der Dialog via Escape-Taste, Alt-F4 oder durch einen Klick auf <code>[x]<\/code> geschlossen wurde.<\/p>\n<h3>Der positivFall <code>DialogResult = true<\/code><\/h3>\n<p>Dieser Fall wird erreicht, indem im Code an beliebiger Stelle explizit <code>this.DialogResult = true<\/code> gesetzt wird. Es gibt zwar auch die M\u00f6glichkeit einen Button mittels <code>IsDefault = true<\/code> als Standardknopf zu definieren, der dann z.B. bei einem Druck auf \u00a0<code>&lt;Enter&gt;<\/code>\u00a0automatisch speichert und das Formular schlie\u00dft, damit wird jedoch NICHT automatisch der Wert <code>DialogResult = true<\/code> gesetzt. Das muss man explizit vornehmen.<\/p>\n<h3>DialogResult abfragen<\/h3>\n<p>Wurde der Wert gesetzt, kann man ihn in der aufrufenden Methode\u00a0wie folgt abfragen:<\/p>\n<pre class=\"lang:default decode:true \">Dialog _dialog = new Dialog();\r\n_dialog.ShowDialog();\r\n\r\nif (dialog.DialogResult.HasValue &amp;&amp; dialog.DialogResult.Value)\r\n{\r\n  \/\/DialogResult = true gesetzt und Dialog dann geschlossen\r\n}\r\nelse\r\n{\r\n  \/\/IsCancel Button geklickt, Dialog mit ESC geschlossen oder [x] geklickt\r\n}<\/pre>\n<p>Bitte liebes Hirn, merke es dir doch bitte jetzt. Immer das gleiche zu Googlen ist peinlich. Mir werden ja schon Werbeanzeigen &#8222;WPF f\u00fcr Dummys&#8220; angeboten-das sollte dir zu denken geben \ud83d\ude09<\/p>","protected":false},"excerpt":{"rendered":"<p>Wieso kann ich mir nicht merken wie ich das DialogResult-Property eines WPF Dialogs setze bzw. auslese? Das wird hier jetzt ein f\u00fcr allemal hingeschrieben und dann hoffentlich endlich im Hirn abgespeichert.<\/p>\n","protected":false},"author":1,"featured_media":1123,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[38],"tags":[39,40],"class_list":["post-4067","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-codeschnippsel","tag-c","tag-wpf"],"jetpack_featured_media_url":"https:\/\/www.kolja-engelmann.de\/blog\/wp-content\/uploads\/2013\/02\/c-socket-connected-code1.png","jetpack_sharing_enabled":true,"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/www.kolja-engelmann.de\/blog\/wp-json\/wp\/v2\/posts\/4067","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.kolja-engelmann.de\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.kolja-engelmann.de\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.kolja-engelmann.de\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.kolja-engelmann.de\/blog\/wp-json\/wp\/v2\/comments?post=4067"}],"version-history":[{"count":0,"href":"https:\/\/www.kolja-engelmann.de\/blog\/wp-json\/wp\/v2\/posts\/4067\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.kolja-engelmann.de\/blog\/wp-json\/wp\/v2\/media\/1123"}],"wp:attachment":[{"href":"https:\/\/www.kolja-engelmann.de\/blog\/wp-json\/wp\/v2\/media?parent=4067"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.kolja-engelmann.de\/blog\/wp-json\/wp\/v2\/categories?post=4067"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.kolja-engelmann.de\/blog\/wp-json\/wp\/v2\/tags?post=4067"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}