我有这样一种情况,我有多个网格中的按钮,并且要求所有按钮的大小都相同。我尝试使用Grid.IsSharedSizeScope,但没有成功。
除了所有按钮的大小应该相同之外,最终的布局应如下图所示。

XAML目前看起来是这样的。有没有人看到我哪里错了?
<UserControl x:Class="UserControls.UserControl2"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
mc:Ignorable="d"
d:DesignHeight="300" d:DesignWidth="300">
<Grid Grid.IsSharedSizeScope="True">
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<GroupBox Grid.Row="0" Grid.Column="0" Header="Header 1" Grid.IsSharedSizeScope="True">
<Grid Grid.IsSharedSizeScope="True">
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" SharedSizeGroup="Button" />
<ColumnDefinition Width="Auto" SharedSizeGroup="Button" />
<ColumnDefinition Width="Auto" SharedSizeGroup="Button" />
</Grid.ColumnDefinitions>
<Button Content="A" Grid.Row="0" Grid.Column="0" Margin="2" />
<Button Content="B" Grid.Row="0" Grid.Column="1" Margin="2" />
<Button Content="C" Grid.Row="0" Grid.Column="2" Margin="2" />
</Grid>
</GroupBox>
<GroupBox Grid.Row="1" Grid.Column="0" Header="Header 2" Grid.IsSharedSizeScope="True">
<Grid Grid.IsSharedSizeScope="True">
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" SharedSizeGroup="Button" />
<ColumnDefinition Width="Auto" SharedSizeGroup="Button" />
</Grid.ColumnDefinitions>
<Button Content="AA" Grid.Row="0" Grid.Column="0" Margin="2" />
<Button Content="BB" Grid.Row="0" Grid.Column="1" Margin="2" />
</Grid>
</GroupBox>
</Grid>
发布于 2015-03-18 23:10:41
仅将Grid.IsSharedSizeScope应用于顶级容器。请参考下面的代码。
<Grid Grid.IsSharedSizeScope="True">
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<GroupBox Grid.Row="0" Grid.Column="0" Header="Header 1" >
<Grid >
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" SharedSizeGroup="Button" />
<ColumnDefinition Width="Auto" SharedSizeGroup="Button" />
<ColumnDefinition Width="Auto" SharedSizeGroup="Button" />
</Grid.ColumnDefinitions>
<Button Content="A" Grid.Row="0" Grid.Column="0" Margin="2" />
<Button Content="B" Grid.Row="0" Grid.Column="1" Margin="2" />
<Button Content="C" Grid.Row="0" Grid.Column="2" Margin="2" />
</Grid>
</GroupBox>
<GroupBox Grid.Row="1" Grid.Column="0" Header="Header 2" >
<Grid >
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" SharedSizeGroup="Button" />
<ColumnDefinition Width="Auto" SharedSizeGroup="Button" />
</Grid.ColumnDefinitions>
<Button Content="AA" Grid.Row="0" Grid.Column="0" Margin="2" />
<Button Content="BB" Grid.Row="0" Grid.Column="1" Margin="2" />
</Grid>
</GroupBox>
</Grid>https://stackoverflow.com/questions/29125510
复制相似问题