[C#] – Designtime oder Runtime?
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