问题标签 [gridsplitter]

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

c# - GridSplitter 自动调整大小

我遇到了问题GridSplitter

简单示例代码:

这将创建两个由 . 垂直分隔的 Grid GridSplitter

我想要实现的是,GridSplitter自动对齐网格的内容。例如,如果我在底部网格中有一个可折叠元素,我希望顶部网格在折叠元素时变得更大。如果我扩大它,顶部Grid应该变小。

我该怎么做呢?稍后我将有 4Grids和 3GridSplitter的...所以该解决方案也应该适用于多个GridSplitter

[编辑]:

我的xml:

0 投票
1 回答
698 浏览

wpf - Gridsplitter 防止调整网格列的大小

我试图在单击 aGrid时隐藏 a 的前两列Button。我的Grid布局有 3 列,一列带有网格,第二列带有网格拆分器,第三列Grid带有Button.

当我使用下面的代码运行我的程序时,它会按预期折叠前两列Button并调整第三个网格的大小,但是当我使用拆分器调整网格大小时,这不再起作用。它隐藏了列,但是第三列未调整大小以填充Window. 我希望前 2 列折叠,第三列填充窗口的整个区域(如果我不使用拆分器调整大小,则会发生这种情况)。

xml如下:

事件Button.click处理如下:

0 投票
1 回答
2470 浏览

wpf - 与 scrollviewer 和 minWidth 结合使用时,gridsplitter 的行为不符合预期

  • 我有一个网格作为背景容器
  • 此网格包含一个滚动查看器,因此当我向上调整窗口大小时,内容会随之扩展,但是当我向下调整窗口大小时,当我达到 sv 内容的 minWidth 时,滚动条会出现在滚动查看器上
  • 此滚动查看器包含一个包含两列的网格
  • 该网格在每一列中包含一个滚动查看器,每个滚动查看器又包含一个网格。
  • 我在第一列上有一个网格拆分器,以便我可以调整列的大小

免责声明:我知道这不是组织此布局的最佳方式,但这实际上是我发现的最简单的表示形式,可以重现我在更复杂的布局中遇到的问题,因此请不要提供会重新组织层的解决方案

这是 xaml :

目标如下: - 如果我向上调整窗口大小,一切都会缩放 - 如果我向下调整大小,当我达到 minWidth 时,最上面的滚动查看器上的滚动条出现并且其内容停止收缩。(这部分工作正常) - 无论最上面的滚动查看器的大小如何,我都可以使用 gridsplitter 调整两列的大小 - 当我达到一列的最小宽度时,滚动条出现在该列的滚动查看器上并且其内容停止收缩

问题:第二部分永远不会发生。我得到的是我可以调整大小直到达到两个子网格之一的 minWidth,然后 gridsplitter 停止移动,我无法进一步缩小并且滚动条永远不会出现。

我注意到,如果我删除最顶层的网格及其关联的滚动查看器,它会按预期工作:

我不明白为什么我将内部网格放入滚动查看器这一事实会改变 gridsplitter 和内部滚动查看器的行为,所以我有人知道解决方案,我会很高兴

0 投票
0 回答
359 浏览

wpf - 在列表框中使用 GridSplitter 作为 swiper

我有一个ListBox其内容被拉伸以填充我的窗口,并且在其中我有一个带有两列(三列,包括GridSplitter)的网格。

我只想能够使用GridSplitter像刷卡器一样的东西,能够隐藏/显示任意数量的任一列。即 100% 左侧,每个 50%,或 100% 右侧等。

我不能为我的生活让它做到这一点。两边的元素都有自己想要的大小,天真的*方法不允许GridSplitter缩小到该大小以下。如果我使用固定的列大小,我可以缩小到它们所需的大小以下,但是当调整大小时,GridSplitter可以超过最终宽度,并且内容不再拉伸以填充。WindowWindow

这是最能说明我的问题的 XamlPad 文档:

最奇怪的是,如果我没有 ListBox,则不会出现此问题。然后它完全按照我的意愿工作。

无论如何,感谢任何人的帮助,这一切都将不胜感激 - 这让我发疯了:)

0 投票
2 回答
5813 浏览

wpf - 调整其父窗口大小时的 WPF GridSplitter 行为

我已经定义了我的 GridSplittler XAML,如下所示。

这将创建两列,它们之间有一个网格拆分器,并且它会在左右拖动网格拆分器时正确调整列的大小。现在,如果您调整整个窗口的大小,我希望左侧红色列的宽度保持固定,并且右侧绿色列的宽度会发生变化(随着窗口大小的调整)。它与调整整个 Visual Studio 应用程序的大小时效果相同,并且解决方案资源管理器的宽度保持固定,但代码选项卡的宽度会发生变化。也与 SQL Server Management Studio 相同;对象资源管理器宽度保持固定,但 SQL 选项卡宽度发生变化。我意识到这两个示例使用了更复杂的停靠控件,但我希望通过使用 WPF GridSplitter 来获得相同的结果。

编辑:根据 mathieu 的建议,所有必要的就是给第一列定义一个初始宽度(下面使用 200 显示)。

现在,当窗口重新调整大小时,它只会改变绿色边框的宽度,而红色边框的宽度保持不变。谢谢!

0 投票
1 回答
525 浏览

wpf - 移动 GridSplitter 后,布局无法正常工作

我的目的是:双击TabItem名为“Tab”中的“Tab” TabControl,然后TabControl将其折叠起来,再双击导致展开。但是在我移动GridSplitter并双击要折叠的“Tab”之后,它不能正常工作,列的高度TabControl不等于列的高度,TabControl换句话说,GridSplitter不要跟随“选项卡控件”

在此处输入图像描述

.xaml

。CS

0 投票
4 回答
4739 浏览

c# - Gridsplitter:将行高限制为窗口大小

我刚刚开始尝试使用 gridsplitters 并且偶然发现了一个非常奇怪的行为,我似乎无法修复它。显然其他人也有类似的问题(根据谷歌),但没有有用的评论。

我有一个有 2 行的网格。启动时,底部的 aHight为 250。顶行的其余部分为*。当我使用拆分器调整行的大小时,第一行的行为与预期的一样。但是当我向上拖动拆分器并通过程序窗口时,底行的内容将从窗口中掉出(=向下移动直到它消失)。我希望我不能使每一行都大于父容器。

这是我的代码。两行的内容再次托管在网格中,为简单起见已被删除。再次:调整顶行的大小可以正常工作。但底行可以调整为无穷大。如果我硬编码一个MaxHeight. 但这必须取决于窗口大小。

0 投票
1 回答
1156 浏览

wpf - GridSplitter 不调整网格中内容的大小

我有Grid2 行 4 列。

第三列有一个GridSplitter

添加拆分器后,它不会向左或向右拉伸。我需要做一些其他的实现来拆分和扩展网格中的内容吗?

0 投票
1 回答
986 浏览

c# - 无法让网格拆分器在 WPF 的 3 列网格中按照我想要的方式工作

我使用 WPF 和一些第三方控件(Telerik)有以下网格:

目前我正在尝试使第 0 列(左侧)中的网格在重新调整窗口大小时不会重新调整大小。我可以通过将列“0”的宽度设置为静态 150 或自动来实现此效果。但是,当我这样做时,网格拆分器不再尊重第 2 列的最小宽度,并允许它拖出屏幕。通过将第 0 列和第 2 列都设置为星形宽度(我现在在代码中的方式),最小宽度得到尊重(列不能缩小到定义的 150 和 80),但它们不会重新调整大小正确(左列按右列的比例重新调整大小)。我想以某种方式让调整大小和网格分割器同时工作。如果我不够清楚或需要更多输入,请告诉我。

0 投票
1 回答
1243 浏览

wpf - WPF Grid Row maximum height but resizable via GridSplitter

I would like to have an expander at the bottom which should be resizable via a grid splitter .

But not with auto height in the content (because the included data grid will need the whole window).

What is the resolution?

My Code: ...

I also tried to set the Maximum Height of the RowDefinition --> The content will not be stretched after resizing the GridSplitter.