共用方式為


DefaultInitializer 類別

更新:2007 年 11 月

用於在設計工具中設定新的物件。

命名空間:  Microsoft.Windows.Design.Model
組件:  Microsoft.Windows.Design.Extensibility (在 Microsoft.Windows.Design.Extensibility.dll 中)

語法

Public MustInherit Class DefaultInitializer _
    Inherits FeatureProvider

Dim instance As DefaultInitializer
public abstract class DefaultInitializer : FeatureProvider
public ref class DefaultInitializer abstract : public FeatureProvider
public abstract class DefaultInitializer extends FeatureProvider

備註

當使用者從工具箱將物件加入至設計介面時,會叫用 DefaultInitializer 擴充功能。衍生自 DefaultInitializer 類別,以設定物件的預設初始值。例如,您可以將某些預設內容加入至按鈕控制項,或將面板的寬度和高度設定為常數值,這樣在加入至設計介面時,才不會縮小到看不見。從工具箱建立時,項目的屬性值會出現在 [XAML] 檢視中。

注意事項:

請不要在項目的建構函式 (Constructor) 中設定預設初始值。設計工具可能不會呼叫建構函式,在這種情況下,預設初始值就不會在設計階段設定。請改用 DefaultInitializer 類別或 ClearValue 方法來設定預設初始值。

範例

下列程式碼範例會說明如何覆寫 InitializeDefaults 方法,以將 Button 控制項的 Content 屬性預設值設定為 "Button"。

Imports System
Imports Microsoft.Windows.Design.Model
Imports Microsoft.Windows.Design.Features

<Feature(GetType(ButtonDefaults))>  _
Public Class DemoButton
End Class

Class ButtonDefaults
    Inherits DefaultInitializer

    Public Overrides Sub InitializeDefaults(ByVal item As ModelItem) 
        item.Content.SetValue("Button")

    End Sub
End Class
using System;

using Microsoft.Windows.Design.Model;
using Microsoft.Windows.Design.Features;

namespace DemoControlLibrary.VisualStudio.Design
{
    [Feature(typeof(ButtonDefaults))]
    public class DemoButton { }

    class ButtonDefaults : DefaultInitializer
    {
        public override void InitializeDefaults(ModelItem item)
        {
            item.Content.SetValue("Button");
        }
    }
}

繼承階層架構

System.Object
  Microsoft.Windows.Design.Features.FeatureProvider
    Microsoft.Windows.Design.Model.DefaultInitializer

執行緒安全

這個型別的任何 Public static (在 Visual Basic 中為 Shared) 成員都具備執行緒安全。並非所有的執行個體成員都是安全執行緒。

請參閱

參考

DefaultInitializer 成員

Microsoft.Windows.Design.Model 命名空間

ModelItem

FeatureProvider

ToolboxBrowsableAttribute

其他資源

WPF 設計工具擴充性