【问题标题】:How to adjust height of ListViewItem as *?如何将ListViewItem的高度调整为*?
【发布时间】:2013-04-24 11:02:29
【问题描述】:

我有一个 ListView,正在添加 5 个 ListViewItem。因为第三项的高度应该采用代码中给出的行定义的其余高度。

<Grid.RowDefinitions>
   <RowDefinition Height="Auto" />
   <RowDefinition Height="Auto" />
   <RowDefinition Height="*" />
   <RowDefinition Height="Auto" />
   <RowDefinition Height="Auto" />
</Grid.RowDefinitions>

对此有什么想法吗?

【问题讨论】:

  • 您确定使用 ListView 是个好主意,而您只想在其中放置 5 个项目吗?
  • @ViktorLaCroix:这与项目数量无关,我只是举例说。我需要一个项目的高度为 *,为什么 ListView 不是一个好主意?
  • 我认为唯一的方法是手动完成,通过连接到 ListView 的 LayoutUpdated 事件并一一更新高度。
  • 那么您并没有真正解释您要实现的目标。第 3 项有什么特别之处?从你的问题看不清楚。你说你想添加 5 个项目,第三个应该有高度 *。现在你说这只是一个例子......你为什么不在你的问题中解释这一点?在您正确解释您要做什么之前,没有人可以帮助您。
  • 您正在寻找手风琴控件。

标签: wpf xaml windows-runtime winrt-xaml


【解决方案1】:

我不确定,如果这有效..

yourListView.GetItemRect(itemIndex).Height=foo;

您可以尝试使用任何逻辑来设置 foo 的值吗?

【讨论】:

    【解决方案2】:

    问题是如果你使用*,这意味着对它的控制将占用剩余的空闲空间。间接地说,列表视图的大小和整个网格大小很重要。所以保持 * 不是问题。但是,如果您想设置控件的大小,请使用auto

    您仍然可以通过将 stackpanel 添加到第三行来使用其他容器(如 stackpanel)来管理列表视图控件的大小。

    【讨论】:

      猜你喜欢
      • 2017-07-06
      • 1970-01-01
      • 1970-01-01
      • 2016-10-05
      • 2022-01-22
      • 1970-01-01
      • 1970-01-01
      • 2014-11-06
      • 1970-01-01
      相关资源
      最近更新 更多