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 类派生,以便为对象配置默认初始值。例如,您可能向一个按钮控件添加一些默认内容或者将面板的宽度和高度设置为常量值,以便当它添加到设计图面时不折叠为零大小。如果从 Toolbox 创建,该元素的属性值会显示在 XAML 视图中。

说明:

不要在元素的构造函数中设置默认初始值。设计器可能不会调用构造函数,在此情况下,默认初始值不会在设计时设置。而应使用 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

线程安全

此类型的任何公共 static(在 Visual Basic 中为 Shared) 成员都是线程安全的。但不保证所有实例成员都是线程安全的。

另请参见

参考

DefaultInitializer 成员

Microsoft.Windows.Design.Model 命名空间

ModelItem

FeatureProvider

ToolboxBrowsableAttribute

其他资源

WPF 设计器扩展性