FrameworkPropertyMetadata.BindsTwoWayByDefault 属性
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
获取或设置一个值,该值指示属性默认是否绑定双向。
public:
property bool BindsTwoWayByDefault { bool get(); void set(bool value); };
public bool BindsTwoWayByDefault { get; set; }
member this.BindsTwoWayByDefault : bool with get, set
Public Property BindsTwoWayByDefault As Boolean
属性值
true 如果此元数据存在的依赖属性默认绑定双向,否则,为 false. 默认值为 false。
例外
元数据已应用于依赖属性操作,以便密封元数据,并且无法设置元数据的属性。
示例
以下示例从各种依赖属性字段获取默认元数据,查询其上各种 FrameworkPropertyMetadata 属性的值,并使用信息填充表来实现“元数据浏览器”。
pm = dp.GetMetadata(dp.OwnerType);
pm = dp.GetMetadata(dp.OwnerType)
FrameworkPropertyMetadata fpm = pm as FrameworkPropertyMetadata;
if (fpm!=null) {
AffectsArrange.Text = (fpm.AffectsArrange) ? "Yes" : "No";
AffectsMeasure.Text = (fpm.AffectsMeasure) ? "Yes" : "No";
AffectsRender.Text = (fpm.AffectsRender) ? "Yes" : "No";
Inherits.Text = (fpm.Inherits) ? "Yes" : "No";
IsDataBindingAllowed.Text = (fpm.IsDataBindingAllowed) ? "Yes" : "No";
BindsTwoWayByDefault.Text = (fpm.BindsTwoWayByDefault) ? "Yes" : "No";
}
Dim fpm As FrameworkPropertyMetadata = TryCast(pm, FrameworkPropertyMetadata)
If fpm IsNot Nothing Then
AffectsArrange.Text = If((fpm.AffectsArrange), "Yes", "No")
AffectsMeasure.Text = If((fpm.AffectsMeasure), "Yes", "No")
AffectsRender.Text = If((fpm.AffectsRender), "Yes", "No")
[Inherits].Text = If((fpm.Inherits), "Yes", "No")
IsDataBindingAllowed.Text = If((fpm.IsDataBindingAllowed), "Yes", "No")
BindsTwoWayByDefault.Text = If((fpm.BindsTwoWayByDefault), "Yes", "No")
注解
如果没有此属性 true,绑定更新默认是单向的,具体取决于构造函数或等效 XAML 语法的默认行为 Binding 。
在现有元素中,通常会在报表状态和用户操作Selector.IsSelected可修改的依赖属性的元数据中找到此属性。true
此属性仅报告依赖属性的默认绑定更新特征。 实例上设置为此属性的任何绑定都可以在本地设置 Mode 绑定的属性并更改此默认值。
任何派生类 PropertyMetadata 的属性通常在对象模型中定义为读写。 这样,就可以在初始化实例后调整它们。 但是,在调用RegisterAddOwner元数据过程中使用元数据后,或者OverrideMetadata,属性系统将密封该元数据实例和传达元数据细节的属性现在被视为不可变。 尝试在此元数据实例上设置此属性后IsSealedtrue将引发异常。
XAML 文本用法
此类的成员通常不用于 XAML。