.net WPF数据网格文本省略号不工作
我有一个专栏,上面有很长的用户评论。我使用以下代码加载它.net WPF数据网格文本省略号不工作,.net,wpf,datagrid,ellipsis,.net,Wpf,Datagrid,Ellipsis,我有一个专栏,上面有很长的用户评论。我使用以下代码加载它 <my:DataGridTextColumn Header="Message" Binding="{Binding UserMessage, Mode=OneWay}" CanUserSort="True"> <my:DataGridTextColumn.ElementStyle> <Styl
<my:DataGridTextColumn Header="Message"
Binding="{Binding UserMessage, Mode=OneWay}"
CanUserSort="True">
<my:DataGridTextColumn.ElementStyle>
<Style TargetType="{x:Type TextBlock}"
BasedOn="{StaticResource {x:Type TextBlock}}">
<Setter Property="TextWrapping"
Value="NoWrap" />
<Setter Property="TextTrimming"
Value="CharacterEllipsis"/>
<Setter Property="ToolTip"
Value="{Binding Path=UserMessage, Mode=OneWay}"/>
</Style>
</my:DataGridTextColumn.ElementStyle>
</my:DataGridTextColumn>
但是省略号不起作用。该列继续显示数据的长文本。此外,当我将textblock的宽度显式设置为某个值时,省略号也可以正常工作,但当我调整列的大小时,它不会显示更多的文本
难道没有一个全新的方法可以做到这一点吗
Thx
Vinit Sankhe.看看。它认为这是您正在寻找的解决方案:尝试设置只需要静态宽度的列的宽度。在此列上,将宽度设置为“*”
我通过谷歌搜索你的问题找到了你的问题。我接受了您的代码,只是在我的列中添加了宽度(除了“标题”列),并且能够让它正确地放置省略号。我还添加了一个MinWidth,以确保在调整窗口大小时,列不会被挤压成空
<my:DataGridTextColumn Header="Message"
Binding="{Binding UserMessage, Mode=OneWay}"
CanUserSort="True"
Width="*">
<my:DataGridTextColumn.ElementStyle>
<Style TargetType="{x:Type TextBlock}"
BasedOn="{StaticResource {x:Type TextBlock}}">
<Setter Property="TextWrapping"
Value="NoWrap" />
<Setter Property="TextTrimming"
Value="CharacterEllipsis"/>
<Setter Property="ToolTip"
Value="{Binding Path=UserMessage, Mode=OneWay}"/>
</Style>
</my:DataGridTextColumn.ElementStyle>
</my:DataGridTextColumn>