WPF 从窗口中删除网格
本文关键字:删除 网格 窗口 WPF | 更新日期: 2023-09-27 18:35:18
我的WPF
应用程序中有这个Grid
:
<Grid Name="MainGrid">
<Grid.RowDefinitions>
<RowDefinition Height="70" Name="BarRowDef" />
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<Grid Name="BarGrid" Grid.Row="0" Height="70" VerticalAlignment="Top" Background="#FF802C2C">
<Button Content="History" Focusable="False" Width="100" Height="60" HorizontalAlignment="Left" VerticalAlignment="Center" Name="HistoryButton" Click="HistoryButton_Click"/>
</Grid>
<Grid Name="MiddleGrid" Grid.Row="1">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<WebBrowser HorizontalAlignment="Stretch" Name="Browser" VerticalAlignment="Stretch" LoadCompleted="Finish_Load" Grid.Column="1"/>
</Grid>
</Grid>
我希望浏览器将有全屏选项。所以我所做的是在进入全屏的情况下被称为:
BarRowDef.Height = new GridLength(0);
发生的事情是浏览器从页面顶部开始,但在底部我有一个大小为 BarGrid
的空白区域。知道可能是什么问题吗?
编辑
这是完整的EnterFullScreenMode
方法:
public void EnterFullScreenMode()
{
BarRowDef.Height = new GridLength(0);
if (this.WindowState == System.Windows.WindowState.Maximized)
{
this.WindowState = System.Windows.WindowState.Normal;
}
this.WindowStyle = System.Windows.WindowStyle.None;
this.WindowState = System.Windows.WindowState.Maximized;
IsFullScreen = true;
}
我相信
设置为可见性.隐藏仍然会导致呈现一些空格。
您可以将行的内容 (BarGrid) 设置为"折叠",这意味着:"不显示元素,也不在布局中为其保留空间"。
BarGrid.Visibility = Visibility.Collapsed;
编辑:评论中的其他详细信息
还要确保从行定义中删除高度设置。而不是:
<RowDefinition Height="70" Name="BarRowDef"/>
用:
<RowDefinition Height="Auto"/>
我不确定你是什么意思,进入全屏事件是什么?
你可以试试这个:
BarGrid.Visibility = Visibility.Hidden;
而不是:
BarRowDef.Height = new GridLength(0);