共用方式為


HOW TO:判斷自訂控制項是在設計階段或執行階段

更新:2007 年 11 月

當您使用擴充性自訂 Windows Presentation Foundation (WPF) Designer for Visual Studio 時,可能會想要自訂控制項在設計階段或執行階段的行為。您可以為使用者自訂設計階段體驗。例如,如果您建立自訂按鈕,可以選擇在設計階段顯示按鈕上的文字,而在執行階段則否。您也可以自訂有複雜行為的控制項,而只在執行階段展現行為。例如,存取資料庫的控制項應在執行階段自動存取資料庫,而不是在設計階段。

您可以藉由呼叫 GetIsInDesignMode 方法,判斷控制項是在設計階段或執行階段執行。

使用設計模式屬性

在這個程序中,您會在設計階段顯示自訂按鈕控制項上的文字,而不是在執行階段。

若要使用設計模式屬性

  1. 在自訂控制項的程式碼後置 (Code-Behind) 檔案中,找出自訂控制項的建構函式。

  2. 加入呼叫 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.";
                }
            }
        }
    }
    

請參閱

其他資源

設計階段和執行階段行為的比較

了解 WPF 設計工具擴充性

WPF 設計工具擴充性