【问题标题】:Wrap Controls inside a stack panel [duplicate]在堆栈面板中包装控件[重复]
【发布时间】:2021-05-21 04:40:03
【问题描述】:

我将一些控件作为子项动态添加到虚拟化堆栈面板控件中。如果控件不适合一行,我想将控件包装到下一行。我该怎么做?

如果我使用 Wrappanel,那么虚拟化将不会发生。

简而言之我需要使用 StackPanel 实现相同的包装面板功能

【问题讨论】:

  • 它是否回答了您的问题stackoverflow.com/questions/10146428/…
  • @TonyStark 这无济于事,因为控件的数量不是固定在一行上的。他们应该在调整窗口大小时得到转变。
  • 你找错树了。让StackPanel 换行意味着它必须同时理解水平和垂直堆叠。它没有,我怀疑有任何实际的方法可以改变它。你真正想要的是一个虚拟化WrapPanel。见重复。也就是说,我认为如果你有这么多元素需要虚拟化,那么WrapPanel 可能首先是向用户展示的错误视图。

标签: c# wpf


【解决方案1】:

你可以这样使用,

<WrapPanel Orientation="Horizontal">
<Button Content="Button" />
<Button Content="Button" />
<Button Content="Button" />
<Button Content="Button" />
<Button Content="Button" />
</WrapPanel>

【讨论】:

  • 我不想使用 wrappanel,因为它不支持虚拟化。
  • @user3722329:StackPanel 类也不支持虚拟化。您必须为此使用VirtualizingStackPanel
  • @PeterDuniho 我只使用 VirtualizingStackPanel。它也没有包装用户控件。
  • @user3722329:您的帖子说 “我需要使用 StackPanel 的相同包装面板功能”
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-07-27
  • 1970-01-01
  • 2011-07-11
  • 1970-01-01
相关资源
最近更新 更多