第二十六章:自定义布局(九)

  1. 云栖社区>
  2. 博客>
  3. 正文

第二十六章:自定义布局(九)

wangccsy 2019-05-20 14:56:27 浏览1954
展开阅读全文

编码的一些规则
从上面的讨论中,您可以为自己的Layout 衍生物制定几个规则:
规则1:如果布局类定义了诸如间距或方向等属性,则这些属性应由可绑定属性支持。 在大多数情况下,这些可绑定属性的属性更改处理程序应调用InvalidateLayout。 调用InvalidateMeasure应该仅限于属性更改仅影响布局大小的情况,而不是它如何安排其子级,但现实生活中的例子很难想象。
规则2:您的布局类可以为其子级定义附加的可绑定属性,类似于Grid定义的Row,Column,RowSpan和ColumnSpan属性。 如您所知,这些属性由布局类定义,但它们旨在设置在布局的子级上。 在这种情况下,您的布局类应覆盖OnAdded方法,以向布局的每个子项添加PropertyChanged处理程序,并重写OnRemoved以删除该处理程序。 Pro

网友评论

登录后评论
0/500
评论