我有2列,它们在Grid列中都有2个组合框和2个标签。现在根据语言,标签中的任何一个都可以是最宽的。我希望所有控件的宽度与最宽的Label相同。组合框文本太宽,无法完全显示。怎么做的?
简化示例代码:
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<Label Content="{DynamicResource LineAndTextColor}" Name="LineAndTextColorLabel" Grid.Column="0" Grid.Row="0"/>
<Label Content="{DynamicResource Linetype}" Name="LineTypeLabel" Grid.Column="1" Grid.Row="0"/>
<ComboBox Grid.Column="0" Grid.Row="1" ItemsSource="{Binding Colors}"/>
<ComboBox Grid.Column="1" Grid.Row="1" ItemsSource="{Binding LineTypes}"/>
<Label Content="{DynamicResource FillColor}" Name="FillColorLabel" Grid.Column="0" Grid.Row="2" />
<Label Content="{DynamicResource Linesize}" Name="LineWidthLabel" Grid.Column="1" Grid.Row="2"/>
<ComboBox Grid.Column="0" Grid.Row="3" ItemsSource="{Binding Colors}"/>
<ComboBox Grid.Column="1" Grid.Row="3" ItemsSource="{Binding LineWidths}" />
补充说明:
我希望列中的所有组合框与相同宽度的THAT列的最宽标签相同。因此,对于两个列,THAT列的最宽标签确定THAT列的组合框的宽度。我需要限制Combobox宽度,因为它们有很长的字符串。
答案 0 :(得分:0)
标签都被拉伸,因此宽度相等。要将组合框限制为相同的宽度,请为其中的ech添加maxWidth设置:
左栏中的组合框:
MaxWidth="{Binding Path=ActualWidth, ElementName=FillColorLabel}"