【问题标题】:Is there a WrapPanel (not WrapGrid) control in WinRT-XAML?WinRT-XAML 中是否有 WrapPanel(不是 WrapGrid)控件?
【发布时间】:2013-05-27 11:36:09
【问题描述】:

XAML StackPanel 在一个方向上并排对齐控件。 WrapPanelTextWrapping="Wrap" 类似,但与 XAML TextBox 中的 TextWrapping="Wrap" 类似,当达到相应的高度或宽度时,控件“换行”到下一列或下一行。

类似但不一样,WrapGrid 包装内容,但采用统一的网格。虽然VariableSizedWrapGrid 允许容器中的不同项目。 WrapGrids 都不能在ItemsControl 之外使用。因此,他们被取消资格。

当开发人员在 Visual Studio 中查看其本机 XAML 工具箱时,没有 WrapPanelWPF developers had a WrapPanel 所以他们可能正在寻找这个通用工具来解决他们的场景。所以,我不得不问:

有人知道 XAML-WinRT 中的 WrapPanel 吗? (虚拟化的呢?)

【问题讨论】:

  • +1 我一直在寻找同样的东西。不得不手动设置网格视图中每个项目的行和列是很痛苦的。我认为可以通过覆盖ArrangeOveride 来完成。我有一次尝试失败,并没有再看它。在 MSDN 上安排覆盖:msdn.microsoft.com/en-us/library/windows/apps/…

标签: windows-8 windows-runtime windows-store-apps winrt-xaml


【解决方案1】:

WinRT XAML 工具包中有一个here。它是从 Silverlight Toolkit 移植的。

【讨论】:

  • 只要我们明白答案是“否”,Filip,我会将此标记为正确答案。 WinRT 中没有 WrapPanel。但是,有开源和第三方 WrapPanel。我的在这里:codepaste.net/8gr5go
  • 蒂姆也有一个。我认为与我的来源相同。
  • 是的,我的基于 CodeProject 上的某个版本。我给那个人发了电子邮件,问我是否可以吸收它。据我所知,他也是基于 Toolkit 的。网上很多剪贴板继承。
  • 看起来不错并且工作正常,但我对许可证感到困惑。在项目页面上,它说它是根据 MIT 许可证发布的,但在 WrapGrid 代码的标题中提到了 Ms-PL 许可证,这似乎是一个“传染性”的开源许可证。那么,我可以在商业、专有、闭源软件中使用它吗?
  • WinRT XAML Toolkit 中的WrapPanel 绝对比 Jerry Nixon 使用的 CodeProject 中的更好。
【解决方案2】:

我有同样的要求,在谷歌上搜索了一段时间后,我决定为此使用自定义控件。请找到以下链接进行实施:

http://www.codeproject.com/Articles/463860/WinRT-Custom-WrapPanel

希望这会对你有所帮助。

【讨论】:

  • 维沙尔。我看不到您的控件对 WrapGrid 的优势,因为据我所知,它假定元素大小固定(水平方向的宽度)。整个想法是允许可变元素宽度,以便您动态检查新元素是否适合并将其放置在下一行,如果不适合。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-03-01
  • 2015-11-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多