C# Wpf网格和可见性
我正在创建一个表单,它将并排显示给控件,如下面的示例。 问题是,当我将一个控件的可见性设置为“折叠”时,另一个控件不会填充所有窗口C# Wpf网格和可见性,c#,wpf,C#,Wpf,我正在创建一个表单,它将并排显示给控件,如下面的示例。 问题是,当我将一个控件的可见性设置为“折叠”时,另一个控件不会填充所有窗口 <Window x:Class="Example" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:d="h
<Window x:Class="Example"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d"
WindowStartupLocation="CenterScreen"
Height="600" Width="600">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<Button>Button 1</Button>
<Button Grid.Column="1" Visibility="Visible">Button 2</Button>
</Grid>
</Window>
按钮2折叠时:
+---------------------+
| | |
| | |
| | |
| Button 1 | |
| | |
| | |
| | |
+---------------------+
期望的:
+---------------------+
| |
| |
| |
| Button 1 |
| |
| |
| |
+---------------------+
正如@Clemens所建议的:
UniformGrid
可以执行以下操作:
<UniformGrid Rows="1" >
<Button>Button 1</Button>
<Button Visibility="Visible">Button 2 </Button>
</UniformGrid>
按钮1
按钮2
你可以试试
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<Button>Button 1</Button>
<Button Grid.Column="1" Visibility="Visible">Button 2</Button>
</Grid>
按钮1
按钮2
您是否尝试过使用列宽来自动使用width=“*”
对于两列,这意味着它们都将始终获得50%。@GWigWam,还有另一种方法吗?使用不同的面板,例如UniformGrid。
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<Button>Button 1</Button>
<Button Grid.Column="1" Visibility="Visible">Button 2</Button>
</Grid>