wpf - Panel.Children 与 Panel.InternalChildren - 有什么区别?

标签 wpf panel children measureoverride arrangeoverride

根据MSDN - Panel.InternalChildren Property :

Classes that are derived from Panel should use this property, instead of the Children property, for internal overrides such as MeasureCore and ArrangeCore.



所以,这真的是一个两部分的问题:
  • 如果我创建自己的面板,FooPanel ,源自 Panel ,我似乎无法覆盖 MeasureCoreArrangeCore .我不确定为什么会出现这种说法。但是,我可以覆盖 MeasureOverrideArrangeOverride .所以,我想知道我是否还需要使用 InternalChildren这两种方法的属性。
  • Children 之间的真正区别是什么?属性(property)和InternalChildren属性(property)?
  • 最佳答案

  • 您将覆盖 MeasureOverride 和 ArrangeOverride,这一定是文档中的错误,或者是针对 Microsoft 内部员工的。 MeasureCore 和 ArrangeCore 由 FrameworkElement 密封,因此您不能覆盖它们。
  • Children 属性是公共(public)的,只需调用 InternalChildren,它是 protected 。所以任何一个都可能是安全的,因为 child 会被内联。

  • MSDN 另有说明( http://msdn.microsoft.com/en-us/library/ms754152.aspx )但文档有误。 (使用反射器可以看到Children的实现只是调用了InternalChildren)

    关于wpf - Panel.Children 与 Panel.InternalChildren - 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5583959/

    相关文章:

    winforms - 使用多个面板设计 Windows.Form -> 如何隐藏一个面板(如 PS 层)

    reactjs - 对 child 使用 “React.ReactNode”类型时出错。我应该使用哪种类型?

    wpf - 使用 XAML 进行面包屑导航控制

    c# - 为什么 Rect.Intersect 会为两个不相交的矩形返回一个非空的 Rect?

    r - 如何在 R 中对多维面板数据运行回归

    JQuery 移动面板

    html - 使用 HTML 和 CSS 在 div block 中显示/隐藏元素

    xml - 跟踪 XML 子项

    c# - Bin - 在 WPF 中部署基于 MySQL Entity Framework Provider 的应用程序?

    wpf - 保存应用了着色器效果的 WPF 图像