下面是一个例子,显示了问题中大部分问题的答案
<DataGrid>
<DataGrid.Resources>
<Style TargetType="TextBlock"
x:Key="trimStyle">
<Setter Property="TextTrimming"
Value="CharacterEllipsis" />
</Style>
</DataGrid.Resources>
<DataGrid.Columns>
<DataGridTextColumn Header="Resize to header width"
Width="SizeToHeader"
Binding="{Binding}"
ElementStyle="{StaticResource trimStyle}" />
<DataGridTextColumn Header="Resize to cell content"
Width="SizeToCells"
Binding="{Binding}" />
<DataGridTextColumn Header="Resize to header & cell content"
Width="Auto"
Binding="{Binding}" />
<DataGridTextColumn Header="Distribute the remaining space"
Width="Auto"
Binding="{Binding}"
ElementStyle="{StaticResource trimStyle}" />
</DataGrid.Columns>
<sys:String>a string which is long</sys:String>
<sys:String>a string which is long, a really long string</sys:String>
<sys:String>another string which is long</sys:String>
<sys:String>another string which is long, a really long string</sys:String>
</DataGrid>
后果
正如您所看到的,我们有几种列大小调整模式来决定列的宽度。对于省略号
...
在长文本上,我为TextBlock定义了一种样式,启用了TextTrimming选项,并为所需列使用了与ElementStyle相同的样式
提到
Sizing Options in the DataGrid Control
有关数据网格大小选项的详细信息
该示例基于
DataGrid
但似乎您使用的是遥控器,但我确信它将以类似的方式应用于遥控器。我没有遥控器,所以我可能不会举同样的例子。