HOW TO:判斷自訂控制項是在設計階段或執行階段
當您使用擴充性自訂 WPF Designer for Visual Studio 時,可能會想要自訂控制項在設計階段或執行階段的行為。 您可以為使用者自訂設計階段體驗。 例如,如果您建立自訂按鈕,可以選擇在設計階段顯示按鈕上的文字,而在執行階段則否。您也可以自訂有複雜行為的控制項,而只在執行階段展現行為。 例如,存取資料庫的控制項應在執行階段自動存取資料庫,而不是在設計階段。
您可以藉由呼叫 GetIsInDesignMode 方法,判斷控制項是在設計階段或執行階段執行。
使用設計模式屬性
在這個程序中,您會在設計階段顯示自訂按鈕控制項上的文字,而不是在執行階段。
若要使用設計模式屬性
在自訂控制項的程式碼後置 (Code-Behind) 檔案中,找出自訂控制項的建構函式。
加入呼叫 GetIsInDesignMode 方法的程式碼,並依此自訂控制項的行為。 您會將自訂控制項的參考以 GetIsInDesignMode 的引數傳遞,它會判斷控制項是否處於設計模式。 例如,請加入如下的程式碼:
Namespace CustomControlLibrary Public Class ButtonWithDesignTime Inherits System.Windows.Controls.Button Public Sub New() If System.ComponentModel.DesignerProperties.GetIsInDesignMode(Me) Then Me.Content = "This button is in design mode." End If End Sub End Class End Namespace
namespace CustomControlLibrary { public class ButtonWithDesignTime : System.Windows.Controls.Button { public ButtonWithDesignTime() { if (System.ComponentModel.DesignerProperties.GetIsInDesignMode(this)) { this.Content = "This button is in design mode."; } } } }