我创建了一个简单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为“Stretch”,以确保所有项目的宽度相同。
<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内容过多的内容就会开始扩大并打乱比例。在这种情况下没有遵守列宽比例是否有原因?