下午好。我创建了一个自定义的WPF布局控件,如果它们不适合可用区域,则需要从度量/安排过程中忽略孩子。我正在用Blend进行测试。创建自定义WPF布局面板 - 忽略不会消失的孩子
我已经尝试覆盖GetVisualChild(n)和VisualChildCount来尝试并允许运行时只识别某些元素作为我想要的孩子。这似乎工作正常,但我遇到的大问题是这样的:
我将一些孩子放入Blend的布局控件中。然后我缩小了一些孩子不适合我的面板的控制。问题是不再可见的孩子仍然在Blend设计界面上呈现。我试图使他们的视觉无效,调用“RemoveVisualChildI()”..但似乎没有想让渲染的视觉效果消失。
分解成GetViasualChild(...)方法,我见证了Blend,运行时只需要实际可见的子元素(完全包含在我的布局面板中)。因此,在我看来,这个问题与子元素有关,他们认为他们仍然需要被渲染。或者容器面板不知道它需要重新渲染。
任何线索?如果需要,我可以尝试并提供更多细节,但我的基本需求是有选择地隐藏/显示(从度量/安排过程中省略)自定义面板的某些子项的能力。
谢谢! - 肖恩