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

wpf - 如何制作可以通过 GridSplitter 控制扩展尺寸的 Expander?

可能重复:
WFP 组合扩展器和网格(可调整大小的扩展器)

我确信这个问题有一个简单的答案,但我没有看到它。

我正在布置一个Grid包含三列的内容。第一个包含Expanderwho ExpandDirectionis Right。第二个是一个GridSplitter。第三个包含一个DockPanel完整的东西。

目标是当Expander折叠时,网格列是其标题的宽度。当它展开时,用户应该能够通过拖动来改变展开区域的宽度GridSplitter

我想不出正确的方法来做到这一点。拖动GridSplitter改变了列的宽度,我真的不想改变列的宽度,我想改变扩展器的最大宽度。不过,我不知道如何实现一个最大宽度可以通过拖动来改变的扩展器——至少,不是不写一堆代码。

任何想法?这甚至可以直接用 XAML 完成吗?是不是很明显?

0 投票
1 回答
281 浏览

xaml - 框架中的 GridSplitter;超越边界问题

我有一个用于在 Silverlight RIA 应用程序中显示数据的通用视图。基本上,视图接受一个参数,该参数是 RIA 获取数据所需的查询,并使用自动生成的字段显示数据。

这是视图的 XAML 代码的一部分。

当视图以单数显示时Frame,一切正常。但是当它显示在有两个框架的页面上时,奇怪的事情开始发生。如果用户抓住拆分器并将其一直移动到顶部,超出帧边界,DataForm它将无限扩展。这不是一个大问题,但它看起来很丑,并且使底部的按钮消失了。

这里发生了什么?为什么会这样?我怎样才能防止这种行为?

0 投票
1 回答
315 浏览

wpf - 如何使用 WPF/SL Grid 和 GridSplitter 作为可绑定的 SplitContainer?

假设您希望允许用户重新调整包含两列的 WPF/SL 网格的大小。但是您还希望允许用户隐藏一列(“面板”)或另一列。当显示两列(面板)时,还应显示 GridSplitter;否则不是。您还想使用没有代码隐藏的 MVVM 样式的绑定。也许您想在会话之间保留设置。您的视图模型中有这些属性:

布尔 IsPanelOneVisible

布尔 IsPanelTwoVisible

GridLength 拆分位置

那么我怎样才能只使用绑定来连接它呢?

请注意,当用户拖动 GridSplitter 时,网格列的宽度(通过绑定或自动设置)会被覆盖。

我读过的所有帖子(其中还包括几个 SplitContainer 实现)都没有正面解决这种情况。可以使用代码隐藏(响应事件)或视图模型上的其他属性来连接它。但我希望有一个更优雅的解决方案。

有任何想法吗?谢谢!

0 投票
3 回答
2340 浏览

wpf - WPF 拆分器可见性

在上面的 xaml 中,我根据我的 ViewModel 中的某些条件设置了第一个内容控件和拆分器的可见性。但是,如果我在运行时调整拆分器的大小,那么在最后一个内容控件之前会显示一些空白空间。当我将第一个内容控件和拆分器设置为折叠时,我需要内容控件来占据整个空间吗?

感谢帮助。

0 投票
1 回答
749 浏览

c# - 当 GridSplitter 专注于 Silverlight 4 时如何更改样式

我有一个 Silverlight 4 页。

该页面包含一个网格,包含三列。在中间一栏中,我放了 GridSplitter。

默认情况下它是蓝色的。我可以使用它的 Foreground 属性设置它的颜色。但是,当我拖动(聚焦)网格拆分器时,它会将其外观更改为另一种颜色(某种蓝色)。

我想为网格拆分器定义一种样式,该样式在拆分器聚焦时应用,而在不聚焦时应用另一种样式。

我已经阅读了一些关于设置 VisualState 管理器的内容,但我不确定如何在这种情况下使用它。我曾考虑过使用触发器,但似乎 SL 不像 WPF 那样支持它们。

如何根据焦点状态更改样式?

0 投票
0 回答
132 浏览

grid - 使用gridsplitter重置网格中的columndefintion?

我有一个有两列的网格,中间有一个gridsplitter。所以用户可以使用自己划分的网格。现在我寻找一种方法来重置网格以开始(两列的宽度相同)。

我得到的没有 Gridsplitter 的解决方案:列的 Width-Property 在样式中,并且可以通过按钮和 InteractionTrigger 进行切换。但是当 gridsplitter 被移动时,这种方式不起作用。

Gritsplitter 到底在网格中做什么?

非常感谢。

0 投票
1 回答
663 浏览

wpf - 如何在 ListBox 控件中保持 gridsplitter 无缝滚动

我在它的数据模板中有一个ListBoxwith 。GridGrid我有一个Splitter控制。现在的问题是:当我绑定列表框的项目源时,内部会生成多个网格,并且由于这些网格,我的拆分器控件无法正常工作。它的工作出人意料。这意味着当我将拆分器控件移动到左侧时,它会平稳移动,但是当我尝试将其从另一行移动时,它不会向后移动。请帮我解决这个问题。

请参阅示例代码以获取更多参考:

0 投票
1 回答
215 浏览

c# - GridSplitter 使用键盘工作正常,但使用鼠标时不断弹回

用鼠标拖动 GridSplitters 时 - 我的网格中的一些拆分器工作正常,而其他拆分器在我将它们放到新位置之前会跳回原始位置。有时经过多次尝试并稍微拖动它们并快速释放鼠标按钮有助于解除阻止它们,但大多数情况下它不会。有时 - 它们只是在拖动时随机跳到新位置。

所有这一切,只需点击一个分离器并使用键盘 - 没有任何问题。

似乎它可能与使用的分离器数量有关 - 分离器越少,这种情况就越少。

如何使它与许多列一起工作?我的应用程序在可滚动网格中有几十列。我尝试将鼠标输入捕获到分离器,但它不起作用。

这似乎与另一个问题类似,但从未得到回答,我想我添加了更多细节。

0 投票
1 回答
1012 浏览

wpf - 如何使用 GridSplitter 在 WPF 网格中检索列宽?

我需要向用户显示两个列表框——一个在窗口的两侧——并允许用户选择每个列表框有多少屏幕空间。我通过以下代码实现了这么多:

但是,虽然绑定将检索第一列的初始宽度并相应地调整它们的大小,但使用 GridSplitter 调整它们的大小只是将绑定替换为新值。如何检索新值以便持久保存它?

理想情况下,该解决方案需要与 MVVM 很好地配合使用——我正在使用 Caliburn 并试图保持代码尽可能干净(我的视图模型包含当前正在绑定的 FirstColumnWidth 属性)。

0 投票
3 回答
3010 浏览

wpf - GridSplitter 覆盖 ColumnDefinition 的样式触发器?

我遇到了一个奇怪的问题......
看起来使用 GridSplitter 调整 Grid 列的大小会禁用(或以其他方式停用)在 Grid 列上定义的触发器。

这是我的设置:

Grid 有 3 列,定义如下:

期望的是,当第三列中没有构成控件的 ItemsSource 项时,将为第二列和第三列分配 0 宽度(分别承载 GridSplitter 和辅助项控件)。

只要我不触摸拆分器(当辅助控件中的所有选项卡都关闭时,只有第一列仍然可见),它就可以很好地工作。
如果我移动拆分器,问题就开始了,从而有效地改变了 ##0 和 2 列之间的比例。在这种情况下,当右侧控件中的所有项目都关闭时,这些列的宽度不会重置。

我怀疑这与 GridSplitter “否决”我在 XAML 中的定义有关。

有人可以确认/反驳这个理论,并建议如何解决这个问题吗?