【问题标题】:get designheight/width of usercontrol at run time在运行时获取用户控件的设计高度/宽度
【发布时间】:2012-08-11 16:18:42
【问题描述】:

我正在编写一个 WPF 应用程序,其中用户控件在运行时添加到 TabControl - 为每个用户控件创建一个选项卡。那么问题是......这些控件可以有不同的宽度和高度,这意味着tabcontrol必须相应地调整自己的宽度和高度。我认为这将是一个简单的练习,只需访问用户控件的 Height/ActualHeight 属性,但这些是 NaN/0.0 无法获取这些信息吗?

【问题讨论】:

  • 但是 TabControl 必须调整自己的大小呢?你能解释一下吗?
  • 如果选项卡控件是 300x300 并且我添加了一个新的 400x400 的 tabitem,其中一些没有显示,因此我必须检查 tabcontrol 是否需要在每个控件添加后调整大小跨度>
  • 我会避免改变 TabControl 的大小。作为用户,我会害怕。相反,我建议将控件放置在 ScrollViewer 中。适合你吗?
  • No ScrollViewer 不是一个选项 - 控件必须缩放到添加的最大控件,以便完全可见

标签: wpf user-controls height width


【解决方案1】:

我可以提出下一个解决方案:

当您将新控件添加到 TabControl(是 TabControl 还是 TabItem?)时,请设置 Width 和 Height 属性的绑定。创建一个转换器以将添加的控件的大小转换为所有者的大小(以防您需要最小大小)。

ActualWidth 和 ActualHeight 属性可能为 0,因为尚未测量控制。看这个thread

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-05-06
    • 1970-01-01
    • 2012-04-27
    • 2012-08-17
    • 1970-01-01
    • 2013-02-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多