【问题标题】:What WPF control should I inherit from?我应该继承什么 WPF 控件?
【发布时间】:2011-11-04 21:10:34
【问题描述】:

我编写了一个 WPF 控件,该控件接受多个 UIElement 对象作为输入,并将它们垂直或水平停靠显示。该控件公开了用于枚举、删除和插入子项的函数,但在内部,我使用 Grid 来构建布局,为每个项目创建一个行/列并在它们之间插入一个 GridSplitter。为此,我从 ContentControl 继承,并且在初始化时,我只需使用 Grid 设置 Content 属性。一切都按预期工作,但现在我想知道这是否会让我的控件的用户感到困惑,因为拥有一个包含许多项目的 ContentControl 会违反直觉。

我应该从 ItemsControl 继承吗? 我应该直接从“内容不可知”的 Control 继承吗? 有没有更好的方法来做到这一点?

提前致谢。

【问题讨论】:

    标签: wpf xaml controls


    【解决方案1】:

    你所描述的听起来像Panel - 基本上是一个负责许多元素布局的控件。我会考虑继承它。

    【讨论】:

    • 同意。 Panel 的另一个好处是可以接受任意数量的孩子,而不是像 ContentControl 那样只接受一个孩子。
    【解决方案2】:

    您提到的“垂直或水平停靠”让我相信StackPanel 可能更合适,因为它也可以停靠。

    【讨论】:

      猜你喜欢
      • 2012-10-23
      • 1970-01-01
      • 1970-01-01
      • 2020-06-10
      • 1970-01-01
      • 1970-01-01
      • 2023-03-10
      • 1970-01-01
      • 2019-09-24
      相关资源
      最近更新 更多