PropertyMetadata.Create 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
重载
Create(CreateDefaultValueCallback) |
创建 PropertyMetadata 值,并指定一个回调,用于为依赖属性建立默认值。 |
Create(Object) |
创建 PropertyMetadata 值,指定依赖项属性的固定默认值。 |
Create(CreateDefaultValueCallback, PropertyChangedCallback) |
创建 PropertyMetadata 值,指定为依赖属性建立默认值的回调和属性更改的回调。 |
Create(Object, PropertyChangedCallback) |
创建 PropertyMetadata 值,指定依赖项属性的固定默认值,以及属性更改的回调。 |
Create(CreateDefaultValueCallback)
创建 PropertyMetadata 值,并指定一个回调,用于为依赖属性建立默认值。
[Windows.Foundation.Metadata.Overload("CreateWithFactory")]
public static PropertyMetadata Create(CreateDefaultValueCallback createDefaultValueCallback);
function create(createDefaultValueCallback)
Public Shared Function Create (createDefaultValueCallback As CreateDefaultValueCallback) As PropertyMetadata
参数
- createDefaultValueCallback
- CreateDefaultValueCallback
对提供默认属性值的回调方法的引用。
返回
新建的依赖属性元数据。
- 属性
示例
此示例演示了在自定义依赖属性方案中使用 CreateDefaultValueCallback 的伪代码。 具体而言,这会创建 PropertyMetadata,用于 DependencyProperty.Register 调用(未显示)。
PropertyMetadata metadata = PropertyMetadata.Create(
new CreateDefaultValueCallback(() =>
{
return new CustomClass() //a DependencyObject
{
CustomProperty1 = "default", //DependencyProperty of type String
CustomProperty2 = -1; //DependencyProperty of type Int32
}
})
注解
使用 CreateDefaultValueCallback,而不使用固定的常量默认值,在依赖属性的默认值可能是线程绑定的情况下。 只要需要获取主 UI 线程以外的线程上的属性的默认值,CreateDefaultValueCallback
就会成为默认值的工厂。
若要为依赖属性建立 CreateDefaultValueCallback 模式,请在定义属性的元数据时,使用静态 Create 方法之一,而不是使用 PropertyMetadata 构造函数。 该元数据提交到 注册 调用。 有关详细信息,请参阅 自定义依赖项属性。 与属性更改回调一样,CreateDefaultValueCallback 方法应该是注册依赖属性的类型静态方法。 该方法不必是公共方法。
另请参阅
- Create(Object)
- Create(Object, PropertyChangedCallback)
- Create(CreateDefaultValueCallback, PropertyChangedCallback)
- 自定义依赖项属性
- 依赖项属性概述
适用于
Create(Object)
创建 PropertyMetadata 值,指定依赖项属性的固定默认值。
/// [Windows.Foundation.Metadata.DefaultOverload]
/// [Windows.Foundation.Metadata.Overload("CreateWithDefaultValue")]
static PropertyMetadata Create(IInspectable const& defaultValue);
[Windows.Foundation.Metadata.DefaultOverload]
[Windows.Foundation.Metadata.Overload("CreateWithDefaultValue")]
public static PropertyMetadata Create(object defaultValue);
function create(defaultValue)
Public Shared Function Create (defaultValue As Object) As PropertyMetadata
参数
- defaultValue
-
Object
IInspectable
要应用的依赖属性默认值。
返回
新建的依赖属性元数据。
- 属性
另请参阅
- Create(Object, PropertyChangedCallback)
- Create(CreateDefaultValueCallback)
- Create(CreateDefaultValueCallback, PropertyChangedCallback)
适用于
Create(CreateDefaultValueCallback, PropertyChangedCallback)
创建 PropertyMetadata 值,指定为依赖属性建立默认值的回调和属性更改的回调。
[Windows.Foundation.Metadata.Overload("CreateWithFactoryAndCallback")]
public static PropertyMetadata Create(CreateDefaultValueCallback createDefaultValueCallback, PropertyChangedCallback propertyChangedCallback);
function create(createDefaultValueCallback, propertyChangedCallback)
Public Shared Function Create (createDefaultValueCallback As CreateDefaultValueCallback, propertyChangedCallback As PropertyChangedCallback) As PropertyMetadata
参数
- createDefaultValueCallback
- CreateDefaultValueCallback
对提供默认属性值的回调方法的引用。
- propertyChangedCallback
- PropertyChangedCallback
对依赖属性值更改时由属性系统调用的回调方法的引用。
返回
新建的依赖属性元数据。
- 属性
另请参阅
- Create(Object)
- Create(Object, PropertyChangedCallback)
- Create(CreateDefaultValueCallback)
- 自定义依赖项属性
- 依赖项属性概述
适用于
Create(Object, PropertyChangedCallback)
创建 PropertyMetadata 值,指定依赖项属性的固定默认值,以及属性更改的回调。
[Windows.Foundation.Metadata.DefaultOverload]
[Windows.Foundation.Metadata.Overload("CreateWithDefaultValueAndCallback")]
public static PropertyMetadata Create(object defaultValue, PropertyChangedCallback propertyChangedCallback);
function create(defaultValue, propertyChangedCallback)
Public Shared Function Create (defaultValue As Object, propertyChangedCallback As PropertyChangedCallback) As PropertyMetadata
参数
- defaultValue
- Object
要应用的依赖属性默认值。
- propertyChangedCallback
- PropertyChangedCallback
对依赖属性值更改时由属性系统调用的回调方法的引用。
返回
新建的依赖属性元数据。
- 属性
另请参阅
- Create(Object)
- Create(CreateDefaultValueCallback)
- Create(CreateDefaultValueCallback, PropertyChangedCallback)