当我在运行时设置 IsClosed 的值时,OnIsClosedChanged() 被正确调用。但是,Designer 设置了属性的值,但没有调用 OnIsClosedChanged()。 public static
在运行时 IsClosed
设置的值时 OnIsClosedChanged()
调用正常。但是,设计器设置了属性的值,但没有调用 OnIsClosedChanged()
.
public static DependencyProperty IsClosedProperty = DependencyProperty.Register("IsClosed", typeof(bool), typeof(GroupBox), new FrameworkPropertyMetadata(false, FrameworkPropertyMetadataOptions.AffectsRender));
public bool IsClosed {
get {
return (bool)this.GetValue(IsClosedProperty);
}
set {
if ((bool)this.GetValue(IsClosedProperty) == value)
return;
this.SetValue(IsClosedProperty, value);
OnIsClosedChanged();
}
}
private void OnIsClosedChanged() {
_rowDefContent.Height = new GridLength((IsClosed ? 0 : 1), GridUnitType.Star);
}
显然 IsClosed
没有被设计师修改,只 IsClosedProperty
接收xaml的改变。
在 Designer 中修改值后 IsClosed
如何运行
当依赖属性收到 xaml 改变时回调
下载声明:
本站所有软件和资料均为软件作者提供或网友推荐发布而来,仅供学习和研究使用,不得用于任何商业用途。如本站不慎侵犯你的版权请联系我,我将及时处理,并撤下相关内容!