【问题标题】:How do I let each control in a listbox set its own height and then mirror this height to all other items in the listbox?如何让列表框中的每个控件设置自己的高度,然后将此高度镜像到列表框中的所有其他项目?
【发布时间】:2012-05-23 14:18:26
【问题描述】:

看起来应该很简单,但我很难过!

我有一个包含多个 MyControl 实例的列表框(通过数据绑定到 ObserveableCollection)。

MyControl 能够设置它的高度(基于它内部发生的事情)。

我希望列表框中的每个 MyControl 实例在任何其他实例更改其自身高度时都可以增长和缩小。即:它们始终具有相同的高度。

就像我说的 - 看起来应该很简单,但我让自己陷入了事件、属性和绑定的网络中,我似乎找不到一个简单的例子来说明如何有效地做到这一点。当我将单个 MyControl 放在页面上时,它可以完美地调整自身大小。只是不在列表框中。谢谢!!

【问题讨论】:

  • 将您的控件放入滚动查看器中,看看它是否仍能正确调整大小。
  • 不确定这对我有什么帮助?我可以滚动列表框中的所有控件(无论它们的大小)。问题是如何同步列表框中多个项目的高度。
  • 哪个项目负责?最大的?最新更改?
  • 最新更改。然后所有更改将应用​​于列表中的所有其他控件。

标签: silverlight xaml data-binding


【解决方案1】:

将 ItemsPanelTemplate 设置为 Panel 的子类,该子类根据您自己的算法布置其子类。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多