AttributeTableBuilder.AddCallback 方法
會加入需要指定之型別的中繼資料時,所叫用的回呼。
命名空間: Microsoft.Windows.Design.Metadata
組件: Microsoft.Windows.Design.Extensibility (在 Microsoft.Windows.Design.Extensibility.dll 中)
語法
'宣告
Public Sub AddCallback ( _
type As Type, _
callback As AttributeCallback _
)
public void AddCallback(
Type type,
AttributeCallback callback
)
public:
void AddCallback(
Type^ type,
AttributeCallback^ callback
)
member AddCallback :
type:Type *
callback:AttributeCallback -> unit
public function AddCallback(
type : Type,
callback : AttributeCallback
)
參數
- type
型別:System.Type
中繼資料屬性要加入的目標型別。
- callback
型別:Microsoft.Windows.Design.Metadata.AttributeCallback
AttributeCallback ,會將中繼資料加入至 Type。
備註
Callback 可以視需要將中繼資料加入至屬性表格,如此比建立表格時加入中繼資料還更有效率。
當您要產生大型屬性表格時,請搭配 AttributeCallbackBuilder 類別來使用 AddCallback 方法。
範例
在下列程式碼範例中,會說明如何使用 AddCallback 方法和 AttributeTableBuilder 類別,建立屬性表格並填入內容。 這個程式碼範例是 AttributeCallbackBuilder 類別完整範例的一部分。
// Container for any general design-time metadata to initialize.
// Designers look for a type in the design-time assembly that
// implements IProvideAttributeTable. If found, designers instantiate
// this class and access its AttributeTable property automatically.
internal class Metadata : IProvideAttributeTable
{
// Accessed by the designer to register any design-time metadata.
public AttributeTable AttributeTable
{
get
{
AttributeTableBuilder builder = new AttributeTableBuilder();
// Build the attribute table by using the AttributeCallbackBuilder
// class. The attribute table is not populated until the designer
// needs it, which is more efficient for large attribute tables.
builder.AddCallback(
typeof(Button),
delegate(AttributeCallbackBuilder callbackBuilder)
{
callbackBuilder.AddCustomAttributes(
new DefaultPropertyAttribute("Content"));
// Apply the ReadOnlyAttribute to the Background property
// of the Button class.
callbackBuilder.AddCustomAttributes(
"Background",
new ReadOnlyAttribute(true));
});
return builder.CreateTable();
}
}
}
.NET Framework 安全性
- 完全信任立即呼叫者。這個成員無法供部分信任的程式碼使用。如需詳細資訊,請參閱從部分受信任程式碼使用程式庫。