wpf - WPF 用户控件在列表视图中使用时不支持网格比例宽度“*”
问题描述
我创建了一个简单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
内容过多的内容就会开始扩大并打乱比例。在这种情况下没有遵守列宽比例是否有原因?
解决方案
推荐阅读
- firebase - 如何在 Vue 中设置身份验证状态更改?
- sql - 比较来自同一 sqlite 列的两行
- r - R 抱怨缺少 .so 文件,但它的包名
- razor - 如何仅输出选择的文本而不是 2sxc 剃须刀模板中的值?
- json - _TypeError(类型'_InternalLinkedHashMap
' 不是类型 'List 的子类型 ') - kotlin - 无法在 Gradle 项目中使用 pluginManagement 块应用 Kotlin JVM 插件
- linux - 将屏幕会话配置为与 xterm 终端完全相同
- regex - 如何使用自定义分隔符删除模式之间的线条
- qt - Qt Quick Controls 2.14 如何设置ScrollView的样式
- sql - 如何根据时间戳值过滤持续时间