DefaultInitializer Class

Used to configure a new object in the designer.

Inheritance Hierarchy

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

Namespace:  Microsoft.Windows.Design.Model
Assembly:  Microsoft.Windows.Design.Interaction (in Microsoft.Windows.Design.Interaction.dll)

Syntax

'Declaration
Public MustInherit Class DefaultInitializer _
    Inherits FeatureProvider
public abstract class DefaultInitializer : FeatureProvider
public ref class DefaultInitializer abstract : public FeatureProvider
[<AbstractClass>]
type DefaultInitializer =  
    class
        inherit FeatureProvider
    end
public abstract class DefaultInitializer extends FeatureProvider

The DefaultInitializer type exposes the following members.

Constructors

  Name Description
Protected method DefaultInitializer Initializes a new instance of the DefaultInitializer class.

Top

Methods

  Name Description
Public method Equals Determines whether the specified Object is equal to the current Object. (Inherited from Object.)
Protected method Finalize Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
Public method GetHashCode Serves as a hash function for a particular type. (Inherited from Object.)
Public method GetType Gets the Type of the current instance. (Inherited from Object.)
Public method InitializeDefaults(ModelItem) Initializes default values for the specified item.
Public method InitializeDefaults(ModelItem, EditingContext) Initializes default values for the specified item using the provided editing context.
Protected method MemberwiseClone Creates a shallow copy of the current Object. (Inherited from Object.)
Public method ToString Returns a string that represents the current object. (Inherited from Object.)

Top

Remarks

The DefaultInitializer extension is invoked when the user adds an object from the Toolbox to the design surface. Derive from the DefaultInitializer class to configure default initial values for your object. For example, you might add some default content to a button control or set a panel's width and height to a constant value, so that it does not collapse to zero size when it is added to the design surface. When created from the Toolbox, the element's property values appear in XAML view.

Note

Do not set default initial values in an element's constructor. The designer may not call your constructor, and in this case your default initial values are not set at design time. Instead, use the DefaultInitializer class or the ClearValue method to set default initial values.

Examples

The following code example shows how to override the InitializeDefaults method to set the default value for a Button control's Content property to "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");
        }
    }
}

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

See Also

Reference

Microsoft.Windows.Design.Model Namespace

ModelItem

FeatureProvider

ToolboxBrowsableAttribute

Other Resources

WPF Designer Extensibility