问题标签 [issharedsizescope]

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 回答
813 浏览

wpf - Grid.IsSharedScopeSize 与 WPF 网格中的 * 列不兼容

IsSharedSizeScope在 WPF 中的 ItemsControl 中使用以保持每行的宽度相同。

不幸的是,这与列不兼容Width='*',这使得“AB C”文本列从页面末尾溢出。

这不会换行,但是如果您更改Grid.IsSharedScopeSizefalsethen 它确实可以工作,但是行不均匀。

有什么聪明的方法可以实现这一点,还是我必须在“AB C”文本列上手动设置宽度?

(注意:这实际上是在未显示的 ItemsControl 内部)

0 投票
2 回答
1633 浏览

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

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

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

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

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

0 投票
0 回答
262 浏览

wpf - 网格上的 SharedSizeScope 使表单“跳舞”

我的页面上有一个 StackPanel(也尝试过使用 Grid)。

两个部分都使用具有相同 ColumnDefinitions 的网格:

不知何故,“C5”正在发挥作用。如果我在那里设置修复大小,一切正常。如果我将其保留为自动,则设计器和应用程序都会向左/向右跳跃,看起来像是在尝试调整宽度。列大小像疯了似的。我还尝试了使用 Width="*" 而没有使用 Width。

如果我只分享前 4 组,一切都很好。另外我在不同的库中使用了一些 ColumnSpan,这在两个用户控件中是不同的

是什么赋予了?

0 投票
1 回答
445 浏览

wpf - GridSplitter 卡住了

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

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

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

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

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

0 投票
1 回答
1528 浏览

c# - WPF - IsSharedSizeScope“true”和三列的宽度问题

简单代码:

出现问题lastColumnwidth其中不是 100%。我尝试HorizontalAlignment="Stretch"为所有网格设置,但没有帮助。

的宽度lastColumn必须为 100%。如何解决这个问题?

0 投票
0 回答
354 浏览

c# - Determine ActualHeight of a StackPanel of Grids in code-behind with IsSharedSizeScope applied

I am trying to determine the dimensions needed to display a collection of items in its entirety -- but without having rendered it on the screen.

In most cases, we have a known/fixed width but need to dynamically change the height. The strategy thus far has been to instantiate similar controls in code-behind, set the width, invoke Measure/Arrange, and then use the resulting ActualHeight. This (smelly) strategy has been working relatively well, but it seems to be falling apart when I try to use grid shared size scopes.

This code, in theory, should tell me the height I need to display multiple items in a StackPanel:

The data template definitely makes use of the shared size groups:

And when it's presented on the UI via XAML, it works fine too:

It simply doesn't work in the code-behind when I build a panel by hand to evaluate ActualHeight before anything gets rendered to the screen.

For whatever reason, when I set a breakpoint and watch the ActualWidth of each grid column, they vary row by row. I don't know why the shared size scope doesn't work in this code. Any ideas? Do I need to invoke some other WPF method for updating layout?

0 投票
1 回答
11120 浏览

c# - WPF Grid.IsSharedSizeScope 跨多个网格

我有一种情况,我在多个网格中有按钮,并且要求所有按钮的大小相同。我尝试使用 Grid.IsSharedSizeScope 但没有成功。

最终布局应如下图所示,但所有按钮的大小应相同。 在此处输入图像描述

XAML 当前看起来像这样。有谁知道我哪里出错了?

0 投票
0 回答
92 浏览

wpf - 不同固定页面上网格列的宽度

我有这样的项目结构,例如:

为什么第一列网格的宽度在不同的固定页面上没有相同的值?

0 投票
0 回答
120 浏览

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

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

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

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

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

在此处输入图像描述

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

在此处输入图像描述

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

0 投票
1 回答
535 浏览

wpf - ItemsControl 和 ScrollViewer 中的 WPF Grid.IsSharedSizeScope

我只是简化了这个日志查看器。它主要按预期工作,但不知何故列长度不共享相同的大小。

这是我的代码:

我没有找到任何与此问题相关的帖子,可能是因为我不知道哪些控件与此问题相关。我尝试将 Grid.IsSharedSizeScope 添加到以下位置:

  • 最上面的网格
  • 项目控制
  • 滚动查看器
  • ItemsPresenter

没有任何结果:
在此处输入图像描述

我必须在哪里添加 Grid.IsSharedSizeScope 才能使其正常工作?在类似情况下是否有任何经验法则?

编辑: Andy-s 解决方案有效。
对后代的一些警告:即使只有 100 行,它也会大大减慢执行速度。可能是因为空间计算。我将使用固定的列宽。

解决方案看起来像这样(不要忘记从 ItemTemplate Grid 中删除 Grid.IsSharedSizeScope)