问题标签 [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 投票
1 回答
2429 浏览

wpf - 在 ItemsControl 的项目中的网格之间共享列宽

我正在编写一个控件来显示和编辑表单中的对象。控件 ( FormDataView) 是一个ItemsControl,其中每个项目都是一个FormField由 组成的控件Grid,字段名称在左列,编辑器(例如 TextBox)在右列。为了对齐编辑器,我希望每个Grid中的第一列共享相同的宽度。

所以我尝试使用IsSharedSizeScopeand SharedSizeGroup,但它不起作用,第一列在每个FormField.

以下是这些控件的样式:

Notice how Grid.IsSharedSizeScope is set in the ItemsPanel of FormDataView, while SharedSizeGroup is set in the template of FormField. This correctly expresses what I want to do: each FormField should use the same width for the first column. However, according to the documentation for the SharedSizeGroup property, this scenario is not supported:

Grid size-sharing does not work if you set IsSharedSizeScope to true within a resource template and you define SharedSizeGroup as outside that template.

OK, so I can understand why it doesn't work... but I don't know how to work around this limitation.

Any idea?

N.B.: I don't want to assign a fixed width to the first column of course...

0 投票
2 回答
1633 浏览

wpf - Grid SharedSizeGroup - 列弹跳,无限循环调整大小

我需要带有水平和垂直标题的表格(简单的 PivotGrid)。我在这里发现了一些类似(或几乎相同)的问题,但没有人给出解决方案。在 XAML 中,我定义了这个结构:

所以两个标题都由带有一些ColumnDefinitions(resp.RowDefinitions)的网格组成,我需要根据Content-ColumnDefinitions来调整Header-ColumnDefinitions的大小。我在代码中这样做:

所以 Header-Column 应该与 Content-Column 共享它的 Width。但是当我运行程序时,列在无限循环中弹跳和调整大小。行的高度共享工作正常。问题可能出在哪里?

仅编辑标题 (grdHorizo​​ntalHeader) 中的列正在调整大小。grdContent 中的列具有正确且稳定的宽度。

0 投票
1 回答
539 浏览

wpf - ItemsControl 中的 ListView 是否有等效的 SharedSizeGroup?

我使用一个 ItemsControl 代表国家。对于每个国家,我使用 ListView 来显示其城市:

结果:

在此处输入图像描述

我需要每当用户更改第一个列表视图中的列宽时,第二个会相应地调整其宽度(类似于网格的SharedGroupSize)。

我怎样才能做到这一点?

0 投票
1 回答
820 浏览

.net - 带有 ItemsControl 嵌入式网格的 SharedGridSize 组

我正在尝试使用 an 在另一个网格中嵌入多个网格,ItemsControl并让所有子网格共享相同的行高:

CustomControl 实际上是一个自定义的 Grid ,如下所示:

但是子网格中的行不共享相同的大小?

0 投票
1 回答
445 浏览

wpf - GridSplitter 卡住了

我在多次拖动后遇到问题(最初似乎工作正常,您还必须在每次拖动之间释放鼠标按钮),网格拆分器似乎卡住并且不允许您再拖动它,或者有时它会只拖了几英寸,然后又卡住了。

我使用的代码实际上是在 ItemTemplate 中,但为了演示问题,我提取了下面的问题代码。

(复制并粘贴 Grid 元素,以便在堆栈面板中有几个,我发现当您至少有 10 个网格时,gridsplitter 会更快地卡住)。

因此,如上所述,如果您尝试多次调整大小(在每次拖动之间释放鼠标按钮),在 5-10 次调整大小后,拆分器似乎卡住了,至少对我来说是这样。

当您尝试向左拖动时,它似乎也只会卡住。

0 投票
1 回答
2363 浏览

wpf - 带有 SharedSizeGroup 和拉伸的 ItemsControl

显然,当使用 SharedSizeGroup 时,您不能使用星号 (*)。此处已对此进行了讨论: Grid's SharedSizeGroup and * sizing

不幸的是,在那次讨论中,他们并没有真正为问题提供可行的解决方案。

我想显示一个控件列表,每行一个控件,布局如下:

(名称)(输入文本框)(X 按钮)

它应该如下所示:

但相反,我得到

第 1 列的宽度应与最长的单词一样宽。第 2 列,即输入文本框,应拉伸以填充所有剩余空间 (*),但这不适用于前面讨论的 SharedSizeGroup。* 被视为自动,因此不拉伸。

有任何想法吗?这是 XAML:

0 投票
1 回答
1100 浏览

c# - SharedSizeGroup 到不同父控件中的不同网格

所以,我有 3 个用户控件:

1. SectionV.xaml

2. BarV.xaml

3. NotationGroupV.xaml

如您所想,NotationGroupVUserControlin的集合BarVBarV并由SectionV两个 of 拥有。(SectionV也用作其父控件的集合成员)

问题在于 的中心行高度NotationGroupV,它具有SharedSizeGroup="Mid"。我想把它分享给NotationGroupV应用程序中的伙伴。

所以,基本上,我想分享SharedSizeGroupNotationGroupV不同父母的其他人。

有谁知道如何暴露SharedSizeGroup这种方式?

(请问有什么要澄清的)

谢谢你。

PS 在这个链接中,它解释了如何在不同的网格中共享它们,但在同一个 xaml 中。

0 投票
0 回答
291 浏览

c# - 在 WPF 和 c# 中以编程方式设置、删除或覆盖 SharedSizeGroup

因此,我通过 XAML 将 SharedSizeGroup 设置为 WPF 中网格上的 2 列,但我想知道是否有办法通过 C# 中的代码删除并重新设置或覆盖该属性?

我已经知道在创建时将此属性应用于列/行的代码,但我不想创建或删除新的列/行。我只需要编辑现有属性的属性。

0 投票
1 回答
2086 浏览

wpf - WPF:为什么 SharedSizeScope 没有按预期工作?

我正在尝试使用合并的单元格创建一个类似数据网格的视图。一切都很好,除了我不能ShareSizeScope在标题行和其余行之间。您可以在下面的屏幕截图中看到,除了第一个之外,列没有对齐。有人能指出我的代码有什么问题吗?提前致谢。
在此处输入图像描述

我的 XAML:

0 投票
0 回答
120 浏览

c# - ListBox 滚动条使用 Grid.IsSharedSizeScope 中断同步列

我需要显示一个带有标题的表格ListBox

我在网上搜索了如何创建它,我找到了这个答案,这是我创建的 XAML 代码:

这是我创建的用于测试和填充ListBox

由于ListBox只显示 4 行,因此不必设置滚动条,并且表头与表格列几乎 100% 对齐:

在此处输入图像描述

当我向 中添加更多行ListBox并且出现滚动条时,问题会变得更糟:

在此处输入图像描述

如您所见,每列的偏移量及其标题太大。我怎么Grid.IsSharedSizeScope知道滚动条的宽度并将其考虑到标题宽度?我需要的是让表格列与表格标题 100% 对齐。