问题标签 [sharedsizegroup]

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 投票
0 回答
259 浏览

wpf - WPF 共享大小组

我在使用共享大小组时遇到问题。

在我更改文本框值之前它工作正常:

没有问题

更改文本框的值后,将减小文本框的大小:

有问题

我认为问题出在更新中,因为当我尝试通过“实时可视树”选择网格时,问题空间消失了。

有人可以知道如何解决这个问题吗?

控制模板

组名转换器

0 投票
1 回答
115 浏览

wpf - 在多个网格之间共享列宽

我有以下 XAML:

我想实现这样的目标:

它看起来类似于具有固定标题行的数据网格。我不能使用实际DataGrid的,因为在真正的应用程序中,“Header 1”和“Header 2”实际上不是简单的网格文本标题,而是具有相当复杂标记的可交互元素。主要问题是如何实现所有三列的宽度同步?最后一列的大小应适合该列中最宽的按钮,而前两列应以 50/50 的比例共享剩余空间。感觉这可以使用该SharedSizeGroup属性来实现,但我无法弄清楚到底如何。

0 投票
1 回答
144 浏览

wpf - WPF SharedSizeGroup 没有正确调整

在我的应用程序中,我有两个 DataObjSubDataObj. 对于这两个类,我想创建一个 ListView,我可以在其中编辑两个类的对象。DataObj持有 aList<SubDataObj>和一些数据修改对SubDataObj属性有影响。

我的方法是像这样构建我的 UI:

要编辑的表格视图类型

结构如下:

查看说明

但我无法对齐视图的 3 个部分的边框,我无法弄清楚我做错了什么。

父网格有Grid.IsSharedSizeScope="True"所有ColumnDefinitionsGrid代表标题的那些,ListView.DataTemplate使用的SharedSizeGroup="xxx"

我的 XAML 代码如下所示:

我已经编写了一个完整的沙盒应用程序,以防它XAML本身还不够。

先感谢您。

0 投票
2 回答
52 浏览

c# - SizeToContent 不尊重 SharedSizeGroups

使用窗口的SizeToContent="WidthAndHeight"属性似乎破坏了网格的列和行定义的属性SharedSizeGroup

例如,上面的代码产生以下内容:

实际输出

但是,我希望它产生类似于

预期产出

它根据组件调整大小但尊重共享组大小。

调整大小会立即应用共享组大小,但是您必须手动猜测正确的大小在哪里。

有没有什么办法解决这一问题?

如果有什么不同,我使用的是 .NET 5。


编辑

添加Grid.IsSharedSizeScope="True"到窗口或网格最初似乎可以解决问题,但在调整窗口大小时,网格不再填满窗口。

需要调整网格大小

我怀疑正在发生的事情是,IsSharedSizeScope由于 Column / Row 定义说 width / height 是,但如果没有,列/行的大小仅相同,*但是当IsSharedSizeScope为 true 时,共享大小范围生效,但由于某种原因停止网格在有空间增长时调整大小。

0 投票
1 回答
19 浏览

wpf - 滚动时可见元素的 WPF SharedSizeGroup 列宽度更改

如何为列表框中的所有元素以及视图之外的元素设置一个共享列的大小。SharedSizeGroup 仅适用于可见元素,但是当我向下滚动并且其中一列中的元素变得更宽时,该列变得更宽且相反。如何使共享大小计算所有元素的最大宽度也不可见并调整一次宽度?原谅我的英语。我希望有一个人可以帮助我。

0 投票
1 回答
18 浏览

wpf - 网格作为 ItemPanelTemplate 的列表框:SharedSizeGroup 的问题

我已经设置了一个ListBoxwhere the items are another ListBox。这允许我绑定一个包含列表的可观察集合。

我使用水平StackPanel作为ItemsPanelTemplate第二个ListBox,但它很难看,所以我尝试使用 aGrid代替(目前我固定了列数以测试一切是否正常)。

一切都在正确的单元格中,但看起来SharedSizeGroup没有考虑到,我想要的是相同列的单元格具有相同的宽度(最宽的元素之一)

查看我的 XAML 代码发生的情况的图片:

内部 ListBox 的项目不共享大小组。

以及我想要达到的目标

内部 ListBox 的项目共享大小组并对齐。

我认为我没有将其放置Grid.IsSharedSizeScope="True"到正确的位置,或者我做错了其他事情。

我知道这看起来像DataGrid现在,但在下一步中,某些行可能没有相同数量的项目。

XAML 代码