当具有该属性的子属性发生更改时,父属性的排列将无效。
有人知道这里可以使用的事件吗?
我是否需要提供覆盖方法并触发事件的自定义父级?
它只是打电话 InvalidateArrange() 当属性更改时,在父对象上。这将导致WPF稍后调用 Arrange() 在父母身上。这两个调用都无法拦截它(不使用 真正地
InvalidateArrange()
Arrange()
失效arrange() ArrangeOverride 方法,或点击 Arrange 特定控件的方法-例如,如果父控件是 Panel 安排
失效arrange()
ArrangeOverride
Arrange
Panel
安排
当您得到Arrange()回调时,您无法检测对父对象调用InvalidateArrange()的原因,但您可以检测具有 AffectsParentArrange 通过在每个文件中保存属性的旧值,标志是否已更改 安排 调用并将其与以前保存的值进行比较。可以使用循环、字典以及属性列表或调用来将其扩展到多个属性 GetLocalValueEnumerator() .
AffectsParentArrange
GetLocalValueEnumerator()