mic*_*ael 1 wpf dependency-properties panel arrangeoverride
基本上,我有一个基于DependencyProperty(FooProperty)绘制子项的面板.
如果FooProperty为真,则安排孩子; 否则,没有安排.第一个直通很好,但是当一个孩子将它的FooProperty从true(draw)更改为false(不绘制)时,该ArrangeOverride方法会跳过它并且孩子仍然被绘制.
我想要而不是跳过那些不应该画的孩子我需要一些方法来画它们吗?
您不要"取消"子项目.当事物触发ArrangeOverride传递时,你只需要数学绘制/重绘它就会发生什么.
如果你想"伪跳过"这个项目,你就不能.绘制后,必须重新绘制.但是,您始终可以使用Rect(0,0)在Point(0,0)处绘制它.基本上你在那里把它装进去.
那么有没有办法"真正"取消项目?是的,以某种方式将其从InternalChildren的集合中删除.您可以通过从可视树中删除项目来完成此操作,或者如果您的面板是ItemsSource的主机面板,则可以从ItemsSource集合中删除该项目.
| 归档时间: |
|
| 查看次数: |
438 次 |
| 最近记录: |