选项卡项的宽度相同
本文关键字:选项 | 更新日期: 2023-09-27 18:24:58
我找了这个并找到了答案,但没有一个对我有效。我有选项卡控件和其中的两个项。我希望Item1的宽度与Item2的宽度相同。我正在使用SharedSizeGroup,但只有在选择Item2之后,宽度才会设置为Item1。有人能帮我吗?代码隐藏不是我的选择。
<Window x:Class="tabitem_sharedsize.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" SizeToContent="WidthAndHeight">
<Grid>
<TabControl TabStripPlacement="Top" Grid.IsSharedSizeScope="True" >
<TabItem Header="Item1">
<Grid >
<Grid.ColumnDefinitions>
<ColumnDefinition SharedSizeGroup="col_group"/>
</Grid.ColumnDefinitions>
<!-- Object Descritions -->
<GroupBox Margin="5,5,5,5" Grid.Column="0">
<GroupBox.Header>
Object description
</GroupBox.Header>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="150" />
<ColumnDefinition Width="250" />
</Grid.ColumnDefinitions>
<!-- Name -->
<Label Grid.Column="0" Grid.Row="0" Content="Name:" />
<TextBox Grid.Column="1" Grid.Row="0" />
</Grid>
</GroupBox>
</Grid>
</TabItem>
<TabItem Header="Item2">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition SharedSizeGroup="col_group"/>
</Grid.ColumnDefinitions>
<Grid Grid.Column="0">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<!-- Inputs -->
<GroupBox Grid.Column="0" Margin="5,5,5,5">
<GroupBox.Header>
Inputs
</GroupBox.Header>
<Grid>
<ListView Grid.Row="1" Margin="10,0,0,5">
<ListView.View>
<GridView >
<GridViewColumn Header="A" Width="250"/>
<GridViewColumn Header="B" Width="250"/>
</GridView>
</ListView.View>
</ListView>
</Grid>
</GroupBox>
</Grid>
</Grid>
</TabItem>
</TabControl>
</Grid>
您只需将第一个选项卡的大小设置为与第二个选项卡的尺寸相同。
<TabItem Header="Item1">
<Grid >
<Grid.ColumnDefinitions>
<ColumnDefinition SharedSizeGroup="col_group" Width="400"/>
</Grid.ColumnDefinitions>
</Grid>
</TabItem>
在第二个选项卡中,将两列的宽度分别设置为150和250。
由于第二个选项卡中有两列,但第一个选项卡中只有一列,因此我们将其宽度设置为400。