[C#] – Designtime oder Runtime?

code-GetIsInDesignMode

Für die Entwicklung eines kleinen UserControls wollte ich die Designeransicht von der Laufzeitansicht trennen. Während also bspw. mein Control im geladenen Zustand erstmal unsichtbar ist, sollte es im Designer trotzdem irgendwie zu erkennen sein, z.B. mit einem gestrichelten Rahmen. Dazu muss man natürlich feststellen, in welchem der beiden Modi man sich befindet. Hier helfen bei WPF Applikationen ein paar statische Methoden des System.ComponentModel Namespace aus der PresentationFramework.dll, die man in seinem Code abfragen kann.

DesignerProperties.GetIsInDesignMode(this);

Zum Glück ist das .NET Framework herrlich inkonsequent. Für Silverlight und Windows Phone 7 gilt obige Methode nämlich nicht, bzw. liefert unvorhergesehene Werte. Deswegen fragt man hier lieber folgende Variable ab:

DesignerProperties.IsInDesignTool

Ah und auch Microsofts „neuester“ Streich will eine Extrawurst. WinRT / Metro und Windows Store Applicationen möchten gern DesignModeEnabled abgefragt bekommen.

Windows.ApplicationModel.DesignMode.DesignModeEnabled

Kolja Engelmann

Technikfan, Freizeitprogrammierer, selbsternannter Toolking und vermutlich größter Drachenfan Deutschlands blogged hier die Lösungen zu IT-Problemen die ihm über den Weg laufen, kleine Softwaretools, nostalgische Anfälle und missbraucht das Ganze gern auch mal als privates Tagebuch und Fotoalbum.

Das könnte dich auch interessieren …

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert