问题标签 [variablesizedwrapgrid]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
4487 浏览

.net - 桌面应用程序中的流体布局包装面板/VariableSizedWrapGrid?

是否可以在桌面应用程序(即 Windows 7 WPF 应用程序)中使用VariableSizedWrapGrid控件?目前此控件似乎仅在 WinRT、Windows 8、Windows Phone 等中可用。如果可能,如何实现?否则,我必须有什么选择才能获得相同的功能?

对于那些不熟悉这个概念的人来说,它类似于 WrapPanel,但是元素会填充面板中的空白而不是溢出到下一行,就像这样(另请参阅Masonry for jQuery):

可变大小的wrapgrid

0 投票
1 回答
62 浏览

microsoft-metro - 双重包装 Windows8 网格视图

我正在开发一个 Windows 8 应用程序,我必须创建一个不同大小的图块视图。一个问题是我需要将我的视图进行双重包装:首先,它应该水平包装(即,每列的宽度应该是 2 个图块)。这样的视图将是一个非常高的柱子。接下来,它应该垂直包装。

下面给出了我要创建的视图的草图。是否有任何 Win8 控件能够提供所描述的行为?

我尝试使用VariableSizedWrapGrid,但似乎无法将其双重包装。

在此处输入图像描述

0 投票
0 回答
127 浏览

windows-8 - VariableSizeWrapGrid:开始拖动时删除项目

我有一个 VariableSizeWrapGrid 和自定义拖放处理逻辑。我需要在开始拖动项目时删除(或折叠)项目。VariableSizeWrapGrid 的数据源是 ObservableCollection。

折叠(Visibility=Collapsed)一个项目不起作用:它变得不可见,但无论如何都会占据其原始空间。使 VariableSizeWrapGrid 无效并不能消除这些空格。

删除项目不起作用,因为当我从原始源中删除拖动的项目时,由于某些未知原因导致拖动过程中止。删除任何其他项目不会中止拖动。我已经void OnItemsChanged(object e)用空处理程序(不调用基本版本)覆盖,但这也无济于事。

短代码示例:

0 投票
1 回答
539 浏览

c# - WP8 中 ItemPanelTemplate 上的 VariableSizedWrapGrid

在 WP8 上,我想在这样的页面上显示一个列表:

在此处输入图像描述

我知道我可以使用 WP8.1 和 VariableSizedWrapGrid 控件轻松做到这一点。但我需要让它在 WP8.0 上工作。所以我尝试了 Kinnara 的工具包:https ://www.nuget.org/packages/WPtoolkit.Kinnara/ 其中包含一个 VariableSizedWrapGrid。

我可以做我想要的显示(见屏幕截图),但我不能在 LongListSelector 或 ListBox 中使用它作为 ItemPanelTemplate。

这是我尝试过的代码(它的灵感来自一种适用于 Windows 8 的方法,但不幸的是它似乎不适用于 WP8)以及这篇博文:http: //mtaulty.com/CommunityServer/blogs /mike_taultys_blog/archive/2012/09/14/windows-8-xaml-and-displaying-multiple-sized-items.aspx

数据模板:

SpecificListBox 只是一个继承 ListBox 并覆盖 PrepareContainerForItemOverride 方法的类:

现在在后面的代码中,我只是用一个项目列表(具有 ItemSize 属性)填充 LB_Wings :

不幸的是,我在初始化页面时收到错误:“无法创建类型的实例:SpecificListBox”。

我想我已经接近解决方案了。谁能帮我做这种显示(这在 WP8 上看起来很自然)但是使用 ListBox 和 ItemPanelTemplate 吗?

非常感谢

0 投票
1 回答
550 浏览

xaml - 如果在代码中修改控件大小,VariableSizedWrapGrid 的大小不正确

我正在创建一个 UWP 应用程序,并且正在使用 VariableSizedWrapGrid 控件。我将网格中组合框的宽度绑定到它,组合框宽度根据列表中的条目调整大小。(我正在使用通过我的视图模型公开的简单属性。)当我在 StackPanel 中使用水平方向的项目时,它工作得很好。见下图

使用 StackPanel 的屏幕截图

当然,挑战在于,在较小的屏幕上,我需要环绕这些字段。所以我将 StackPanel 切换为 VariableSizedWrapGrid。但是,当我这样做时,网格似乎没有正确处理组合框的大小调整,因为我得到了如下所示的内容。(请参阅 ComboBox 现在已被切断

在此处输入图像描述

任何有关如何解决此问题的建议将不胜感激。

0 投票
0 回答
455 浏览

uwp - VariableSizedWrapGrid 类似 uniformgrid

我正在尝试构建一个颜色选择器。目前我正在使用带有“VariableSizedWrapGrid”的“ItemsControl”作为“ItemsPanel”。“ItemTemplate”由一个按钮组成。目前,“按钮”使用固定大小,但是当按钮大小自动像“wpf”中的“uniformgrid”一样时会更好。'VariableSizedWrapGrid' 是否可以像'uniformgrid' 一样工作?

0 投票
0 回答
385 浏览

c# - UWP WrapPanel / VariableSizedGrid

我目前正在处理一些设计问题。我需要一个包含多个扩展器的 WrapPanel,它应该正确地适合我显示的图像。 在此处输入图像描述

因此,如果用户打开一个,应该会出现一些命令。(可以是 3 到 10 个命令。)我认为以 5 个项目开头的滚动视图最适合)

目前我没有让它工作。如果我切换第一个框,则每个框都会切换。如果我切换另一个框,它也需要完整的高度。

第一个盒子

这里是图像,如果第一个盒子是关闭的。 在此处输入图像描述

我想我需要多个控件。首先是 Expander-Menu,其次是 VariableSizedWrapGrid。但正如预期的那样,两者都不起作用。这是我当前的代码。

如果有人可以帮助我,那就太好了。

谢谢,周末愉快。基督教

0 投票
1 回答
36 浏览

xaml - 无法让 VariableSizedWrapGrid 换行

我在让 VariableSizedWrapGrid 水平换行时遇到问题。我所能得到的似乎只是我的元素垂直堆叠在一个列中。我不确定我错过了什么。

理想情况下,我希望有 3 列输入字段。字段的数量会根据所选的表而变化,因此它们只需要包装即可。

堆叠的物品

0 投票
2 回答
323 浏览

uwp - WinUI 列表控件,允许动态项目大小、重新排序和虚拟化

我正在尝试在 WinUI/UWP 应用程序中实现类似于 Notion 或 Craft 的文档编辑器。这些应用程序没有使用“单字段”编辑器(如 MS Word 那样),而是显示垂直堆栈的内容行(所谓的“块”),其中可以包含文本、媒体、链接预览、LaTeX 等。这些行可以用::侧面的把手重新排列:

Notion UI 录制

所以我一直在寻找一些列表/堆栈控件:

  • 回收不可见的行视图(即 XAML 术语中的“虚拟化”)。
  • 允许通过拖放(单个或多个)对行重新排序。
  • 根据内容的高度增长或缩小自动调整行高(由于用户的输入或因为应用程序的窗口水平调整大小并包装了一些内容)。

我不需要的功能标题、列、排序、过滤。我已经查看了 WinUI 2.x 和 Windows Community Toolkit 中的以下控件,但看起来它们中的每一个都缺少一个或多个所需的功能。

列表显示

它似乎是拖放列表的首选控件,但它不能动态调整项目的大小。此外,它的拖动使用了整个项目区域,而我需要使其仅::在侧面有一个手柄时可用。

ItemsStackPanel

StackPanel的虚拟化支持版本,但据我了解,面板应该用于子项的简单布局,而不是用于基于数据源呈现长列表。

VariableSizedWrapGrid

这是唯一一个官方声明支持可变大小项的列表/网格控件,但同时不支持虚拟化。但是,我从 2013 年找到了一个基于预先计算不可见元素的内容大小的解决方案。

物品中继器

一个非常基本的控件,它本身不提供虚拟化:“ItemsRepeater 在连接到支持虚拟化的主机时支持虚拟化。”

数据网格

WCT 的一个相当繁重的控制似乎是唯一一个根据其内容动态调整单元格大小的控制。不幸的是,它不允许行重新排序(仅排序),所以我也不能使用它。


我错过了什么?如果没有,我想知道哪一个是最好的基础。谢谢!