- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
WPF GridSplitter使我的网格比我的窗口更宽!
我有一个带有GridSplitter的WPF网格。如果我调整列的大小,则可以使网格比窗口宽且不可见。
它是这样开始的:
WPF Grid http://img201.imageshack.us/img201/9505/onehg6.jpg
但是在加宽左列之后,我再也看不到右列(绿色):
WPF GridSplitter http://img201.imageshack.us/img201/1804/twomy6.jpg
我究竟做错了什么?如何防止GridSplitter更改网格的大小?
更新:
我还在为此苦苦挣扎。我现在尝试在网格内嵌套网格。那没有帮助。这是我的XAML ColumnDefinitions,RowDefinitions和GridSplitters ...
<Window ... >
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" MinWidth="150" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="*" MinWidth="400" />
</Grid.ColumnDefinitions>
<GridSplitter
ResizeDirection="Columns"
ResizeBehavior="BasedOnAlignment"
Grid.Column="1"
HorizontalAlignment="Center"
VerticalAlignment="Stretch"
Width="2"
Margin="0,5,0,5"
Panel.ZIndex="1"/>
<Grid Grid.Column="0">
...
</Grid>
<Grid Grid.Column="2">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" MinWidth="150" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="*" MinWidth="200" />
</Grid.ColumnDefinitions>
<GridSplitter
ResizeDirection="Columns"
ResizeBehavior="PreviousAndNext"
Grid.Column="1"
HorizontalAlignment="Center"
VerticalAlignment="Stretch"
Width="2"
Margin="0,5,0,5"
Panel.ZIndex="1"/>
<Grid Grid.Column="0">
...
</Grid>
<Grid Grid.Column="2">
...
</Grid>
</Grid>
</Grid>
</Window>
最佳答案
如果调整了窗口的大小,使其宽度小于列的MinWidths的总和,则会看到列被切除,但是否则我无法重现您的问题:
<Window xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:sys="clr-namespace:System;assembly=mscorlib"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition MinWidth="150" Width="*"/>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition MinWidth="400" Width="*"/>
</Grid.ColumnDefinitions>
<GridSplitter
Width="2"
Grid.Column="1"
HorizontalAlignment="Center"
Margin="0,5,0,5"
Panel.ZIndex="1"
VerticalAlignment="Stretch"
ResizeBehavior="BasedOnAlignment"
ResizeDirection="Columns"/>
<Grid Grid.Column="0">
<Border Background="Red" Margin="5"/>
</Grid>
<Grid Grid.Column="2">
<Grid.ColumnDefinitions>
<ColumnDefinition MinWidth="150" Width="*"/>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition MinWidth="200" Width="*"/>
</Grid.ColumnDefinitions>
<GridSplitter
Width="2"
Grid.Column="1"
HorizontalAlignment="Center"
Margin="0,5,0,5"
Panel.ZIndex="1"
VerticalAlignment="Stretch"
ResizeBehavior="PreviousAndNext"
ResizeDirection="Columns"/>
<Grid Grid.Column="0">
<Border Background="Green" Margin="5"/>
</Grid>
<Grid Grid.Column="2">
<Border Background="Blue" Margin="5"/>
</Grid>
</Grid>
</Grid>
</Window>
关于.net - 如何防止WPF GridSplitter更改网格的大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/279557/
我希望 GridSplitter 使 TreeView 更大,以便更容易查看 TreeView 的内容。似乎找不到合适的地方放置分路器
我想要一个简单的 3 列网格,其中包含可调整大小的列和 80 的 MinWidth。 代码如下所示: 但它并没有以我想要和
我正在创建一个 3 列 UI,列之间有网格拆分器。我需要保存列的状态,这样如果用户关闭并重新打开应用程序,它看起来就像他们离开它一样。但我也试图让列按比例拆分——我的意思是,如果你拉伸(stretch
我想要一个带有两行和它们之间的分隔符的网格布局。行的最小高度应为 80 像素。 这段代码效果很好:
我有一个带有 3 列网格的应用程序。第一列和第二列之间的网格拆分器工作得很好。为了让分流器位于第二列和第三列之间,我为分流器创建了一个列。 (所以现在第三列实际上是第四列。) 当我调整其他列的大小时,
简单的 GridSplitter 在某种意义上表现得很奇怪,当我将它向左移动超出 MinWidth 时,另一列会无限扩展。我在这里缺少什么?
一旦使用 gridsplitter 调整网格大小,当其他行折叠时,该行 * 将不会回收空间。 我在主详细信息 View 中有以下三行网格。顶部有一个数据网格,中间有一个分割器,最后一行有一个内容控制
我有以下网格 我的GridSplitter位于第3行(第
我正在从 WinForms 迁移到 WPF,我需要自定义绘制一个 gridsplitter,如下所示。这是我的 WinForms 实现: 在 WinForms 中很容易实现。我继承自 Splitter
我刚开始尝试使用 gridsplitter 并偶然发现了一个非常奇怪的行为,我似乎无法修复它。显然其他人也有类似的问题(根据谷歌),但没有任何有用的评论。 我有一个包含 2 行的网格。启动时,底部的
我是 WPF 新手。我这样声明我的 Grid: 我基本上希望宽度为 5 的第
我是 WPF 的新手,遇到了一个小但令人沮丧的问题。 我有一个包含两行和两列的网格。第一行包含一个菜单栏,第二行包含左侧的一列(包含一个列表框)和右侧的一列(包含一个列表框)。 它还包含一个 Grid
我有这个: 我正在尝试保存和恢复拆分器位置。我正在使用 grid.C
使用下面的 XAML,当我将 GridSplitter 向左拖动时,它会将元素推出窗口。 如何将所有元素保留在窗口框架内?
我有以下 XAML:
我是 wpf 的初学者,今天我遇到一个奇怪的问题,如果我向网格列添加动画,gridsplitter 停止工作,下面是代码片段,这是一个毫无意义但很简单的测试代码,除了当鼠标进入右列,宽度从15扩大到1
我正在使用 GridSplitter在我的 WPF 应用程序中,并希望将其设置为代码中的特定初始位置。我被 GridSplitter 的行为困住了将特定值设置为 Height 时关联的属性 RowDe
我有一个由 GridSplitter 分隔的 2 列的网格,使用以下 XAML 代码: 问题:右侧列的 MinWid
我正在使用 Microsoft.Toolkit.Uwp.UI.Controls 中的 GridSplitter。在用户使用网格拆分器调整两列大小后,是否有办法重置调整大小并使网格的列宽恢复到调整大小之
我希望使用网格作为我的顶级布局。网格将有 1 列和 n 行。网格中的每一行还应包含一个 3 列 1 行的网格。第二列是 GridSplitter,我尝试使用 SharedSizeGroup,以便更改所
我是一名优秀的程序员,十分优秀!