WPF アプリケーションでは、多くの場合、デザイン時環境とランタイム環境を区別する必要があります。これは、シナリオごとに異なる動作をする必要があるビュー モデルや UI ロジックを作成する場合に特に役立ちます。
そのようなアプローチの 1 つは、アプリケーションの現在の実行モードの監視です。コードが Blend や Visual Studio などの設計ツール内で実行されている場合は、モック データまたはプレースホルダーの視覚化を利用する必要があります。逆に、運用モードでは、リアルタイムのデータと機能的な対話を提供する必要があります。
WPF は、DesignerProperties.GetIsInDesignMode メソッドを通じてこれを実現する便利な方法を提供します。このメソッドは、DependencyObject をパラメータとして受け取り、そのオブジェクトが現在デザイン モードであるかどうかを示すブール値を返します。
// 'this' is your UI element bool isInDesignMode = DesignerProperties.GetIsInDesignMode(this);
Silverlight または Windows Phone 7 をターゲットにしている場合は、代わりに DesignerProperties.IsInDesignTool を使用する必要があります。一部のシナリオでは、より正確な結果が得られます。
bool isInDesignTool = DesignerProperties.IsInDesignTool;
最後に、WinRT または Metro アプリケーションの場合、次を使用できます。 Windows.ApplicationModel.DesignMode.DesignModeEnabled:
bool isDesignModeEnabled = Windows.ApplicationModel.DesignMode.DesignModeEnabled;
これらのプロパティを活用することで、開発者はデザイン環境とランタイム環境を簡単に区別し、それに応じてコードを調整できます。
以上がWPF デザイン モードを検出して実行時の動作を管理するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。