繁体   English   中英

当Stackpanel折叠时从网格中删除空间

Removing space from grid when stackpanel is collapsed

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

我有一个应用程序,可以在网格中显示成排的堆叠面板。 用户可以隐藏堆栈面板的行以“清理”网格,并且仅查看/编辑他们想要的内容,其想法是折叠分隔器之间的堆栈面板,并关闭两个之间的空间。

当我将堆栈面板设置为Visibility.Collapsed时,堆栈面板消失,但它们所占据的空间仍然存在。

我如何消除差距? (我添加了updatelayout,但是这似乎没有做任何事情)

之前的样子: 之前

之后的样子: 之后

我的XAML:

    <ScrollViewer Name="scroll" PanningMode="Both" Grid.Column="0" Grid.Row="1">
        <ScrollViewer.Resources>
            <sys:Double x:Key="{x:Static SystemParameters.VerticalScrollBarWidthKey}">50</sys:Double>
            <sys:Double x:Key="{x:Static SystemParameters.VerticalScrollBarButtonHeightKey}">50</sys:Double>
        </ScrollViewer.Resources>
        <Grid x:Name="RecipeEditorCtrl" VerticalAlignment="Top">                
        </Grid>
    </ScrollViewer>

我的C#:

        ...
        int rowIndex = Grid.GetRow(CNtmp);

        rowIndex++;
        tmpCN = (CollectionNode)RecipeEditorCtrl.Children[rowIndex];
        while (tmpCN.dataType.Text != "SEPERATOR")
        {
            tmpCN.Visibility = Visibility.Collapsed;
            rowIndex++;
            tmpCN = (CollectionNode)RecipeEditorCtrl.Children[rowIndex];
        }
        RecipeEditorCtrl.UpdateLayout();
    }
1 个回复

您可以使用RowsDefinitions并将每个RowDefinition Height属性设置为Auto然后将StackPanel添加到这些行

2 从StackPanel移除子级

运行上面的代码后。 控件仍在屏幕上。 那么x等于33。那么我该如何真正移除子代呢? ...

2017-03-09 23:40:45 3 738   c#/ wpf
3 在网格或StackPanel的有限空间中具有TextTrimming的按钮

我正在尝试构建一排按钮,这些按钮在正常状态下会保持对齐状态,当容器提供的空间不再足以满足其正常大小时,它们将均匀缩小。 如果有足够的空间,则StackPanel行为正确: 如果没有足够的空间,则具有星形列的网格可提供我想要的内容: 如何用一个布局容器完成两种状态? 我的x ...

5 wpf - 当其他列的内容折叠时,网格列不填充剩余空间

我有一个包含 3 列的网格:第一个将其宽度设置为“*”,我相信它会填充其他列留下的任何剩余空间。 第二个的宽度为 8,第三个的宽度设置为“自动”,因此其大小会根据其内容而变化。 在我的第二列中,我有一个GridSplitter ,因此在拖动时我可以更改第一列和第三列的宽度。 这工作正常,问题是我的 ...

6 移除广告时调整StackPanel的大小以适合屏幕

我有一个Windows Phone 8应用,该应用的屏幕底部有广告。 删除广告后,我希望将其占用的区域替换为游戏屏幕内容。 我已经搜索过了,但是还没有找到解决方案,我敢肯定,我错过了一些简单的事情! 作为示例,请参见以下代码: (不是我的实际代码,只是一个示例,以了解如何删 ...

7 删除用户控件时,WPF Stackpanel 高度未调整大小

我在网格行中有一个堆栈面板,行高设置为自动。 我在运行时添加用户控件并且高度调整大小,但在删除用户控件时高度不会降低。 我试图清除堆栈面板子项,将它们一个一个地删除,并在每个用户控件中实现IDisposable但是当子项计数显示为零时,高度并没有减少。 下面的示例 XAML,欢迎任何帮助吗? ...

2018-08-25 12:34:04 2 372   c#/ wpf
8 StackPanel到网格

如何将Stackpanel转换为网格? 我不知道该怎么做。 但是我的内容看起来像一堆碎石,请帮助我。 我想转换,因为我需要提高性能。 ...

9 菜单在引导程序中折叠时删除类

导航栏展开时,我必须添加一个.bgGradient类,因为客户端需要导航栏中的图像,并且文本不容易阅读。 因此,我在导航栏后面添加了一个轻微的渐变。 但是当它崩溃时,渐变看起来很奇怪,所以我想摆脱它。 仅当导航栏折叠时,有什么方法可以摆脱.bgGradient类吗? ...

10 StackPanel 折叠并在按钮单击时可见

我试图在单击按钮时显示一个折叠的堆栈面板,但我遇到了问题,所以我尝试扭转我的想法,我能够折叠一个可见的堆栈面板。 但不幸的是,我无法实现我想要的行为,在单击按钮时显示折叠的堆栈面板。 到代码:D XAML 样式 ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2022 STACKOOM.COM