Я создал простой UserControl
с Grid
с шириной столбца, установленной на пропорциональный интервал.
<UserControl {Usual UC definition stuff}>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="3*"/>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="1*" />
</Grid.ColumnDefinitions>
<TextBox Text="{Binding Path=RotOrder}" Grid.Column="0" />
<TextBox Text="{Binding Path=Rot1}" Grid.Column="1"/>
<TextBox Text="{Binding Path=Rot2}" Grid.Column="2"/>
<TextBox Text="{Binding Path=Rot3}" Grid.Column="3"/>
</Grid>
</UserControl>
Когда я использую автономный пользовательский элемент управления в моем окне, пропорциональное расстояние учитывается, даже если элемент управления установлен на фиксированную ширину, а содержимое превышает пространство, доступное в каждом TextBox
. Любой контент, который не подходит, просто не учитывается.
Я также пытался использовать элемент управления внутри ListView
. Я установил для свойства HorizontalContentAlignment
ListViewItem
значение «Растянуть», что гарантирует, что все элементы имеют одинаковую ширину.
<ListView Name="MyList2" Width="150" HorizontalAlignment="Left">
<ListView.ItemContainerStyle>
<Style TargetType="ListViewItem">
<Setter Property="HorizontalContentAlignment" Value="Stretch" />
</Style>
</ListView.ItemContainerStyle>
<ListView.ItemTemplate>
<DataTemplate>
<local:UserControl1/>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
Пока содержимое текстовых полей помещается в поле, элемент управления работает как шарм с интервалом точно таким, как ожидалось. Но если контент не подходит, TextBox
со слишком большим количеством контента начинает расширяться и портить пропорции. Есть ли причина, по которой пропорции ширины столбца не соблюдаются в этом сценарии?