问题标签 [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.
.net - 桌面应用程序中的流体布局包装面板/VariableSizedWrapGrid?
是否可以在桌面应用程序(即 Windows 7 WPF 应用程序)中使用VariableSizedWrapGrid控件?目前此控件似乎仅在 WinRT、Windows 8、Windows Phone 等中可用。如果可能,如何实现?否则,我必须有什么选择才能获得相同的功能?
对于那些不熟悉这个概念的人来说,它类似于 WrapPanel,但是元素会填充面板中的空白而不是溢出到下一行,就像这样(另请参阅Masonry for jQuery):
microsoft-metro - 双重包装 Windows8 网格视图
我正在开发一个 Windows 8 应用程序,我必须创建一个不同大小的图块视图。一个问题是我需要将我的视图进行双重包装:首先,它应该水平包装(即,每列的宽度应该是 2 个图块)。这样的视图将是一个非常高的柱子。接下来,它应该垂直包装。
下面给出了我要创建的视图的草图。是否有任何 Win8 控件能够提供所描述的行为?
我尝试使用VariableSizedWrapGrid
,但似乎无法将其双重包装。
windows-8 - VariableSizeWrapGrid:开始拖动时删除项目
我有一个 VariableSizeWrapGrid 和自定义拖放处理逻辑。我需要在开始拖动项目时删除(或折叠)项目。VariableSizeWrapGrid 的数据源是 ObservableCollection。
折叠(Visibility=Collapsed
)一个项目不起作用:它变得不可见,但无论如何都会占据其原始空间。使 VariableSizeWrapGrid 无效并不能消除这些空格。
删除项目不起作用,因为当我从原始源中删除拖动的项目时,由于某些未知原因导致拖动过程中止。删除任何其他项目不会中止拖动。我已经void OnItemsChanged(object e)
用空处理程序(不调用基本版本)覆盖,但这也无济于事。
短代码示例:
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 吗?
非常感谢
uwp - VariableSizedWrapGrid 类似 uniformgrid
我正在尝试构建一个颜色选择器。目前我正在使用带有“VariableSizedWrapGrid”的“ItemsControl”作为“ItemsPanel”。“ItemTemplate”由一个按钮组成。目前,“按钮”使用固定大小,但是当按钮大小自动像“wpf”中的“uniformgrid”一样时会更好。'VariableSizedWrapGrid' 是否可以像'uniformgrid' 一样工作?
uwp - WinUI 列表控件,允许动态项目大小、重新排序和虚拟化
我正在尝试在 WinUI/UWP 应用程序中实现类似于 Notion 或 Craft 的文档编辑器。这些应用程序没有使用“单字段”编辑器(如 MS Word 那样),而是显示垂直堆栈的内容行(所谓的“块”),其中可以包含文本、媒体、链接预览、LaTeX 等。这些行可以用::
侧面的把手重新排列:
所以我一直在寻找一些列表/堆栈控件:
- 回收不可见的行视图(即 XAML 术语中的“虚拟化”)。
- 允许通过拖放(单个或多个)对行重新排序。
- 根据内容的高度增长或缩小自动调整行高(由于用户的输入或因为应用程序的窗口水平调整大小并包装了一些内容)。
我不需要的功能:标题、列、排序、过滤。我已经查看了 WinUI 2.x 和 Windows Community Toolkit 中的以下控件,但看起来它们中的每一个都缺少一个或多个所需的功能。
列表显示
它似乎是拖放列表的首选控件,但它不能动态调整项目的大小。此外,它的拖动使用了整个项目区域,而我需要使其仅::
在侧面有一个手柄时可用。
ItemsStackPanel
StackPanel的虚拟化支持版本,但据我了解,面板应该用于子项的简单布局,而不是用于基于数据源呈现长列表。
VariableSizedWrapGrid
这是唯一一个官方声明支持可变大小项的列表/网格控件,但同时不支持虚拟化。但是,我从 2013 年找到了一个基于预先计算不可见元素的内容大小的解决方案。
物品中继器
一个非常基本的控件,它本身不提供虚拟化:“ItemsRepeater 在连接到支持虚拟化的主机时支持虚拟化。”
数据网格
WCT 的一个相当繁重的控制似乎是唯一一个根据其内容动态调整单元格大小的控制。不幸的是,它不允许行重新排序(仅排序),所以我也不能使用它。
我错过了什么?如果没有,我想知道哪一个是最好的基础。谢谢!