繁体   English   中英

在datagrid文本框WPF中显示缺少的文本部分

[英]Show missing part of text in datagrid textbox WPF

我的项目中有一个数据网格,将字符串放入其中之后,其中一部分就不合适了,因为它们太长了。 我希望我的文本框列具有固定的大小,所以我不想为文本框使用“自动”宽度属性,但是我想知道:是否可以使用某种属性来选择性地显示整个字符串? 例如,如果:如果要长时间显示字符串,则可以容纳它的一部分,然后显示三个点(...)或类似的符号。 单击三个点后,将显示整个文本框的值。 甚至在将鼠标移到某些文本框后显示整个字符串。

我的数据网格看起来像这样。

在此处输入图片说明

在那里,您会看到一些太长的字符串值被切除。

这是数据网格中文本框的xaml代码。

<DataGrid Grid.Column="0" Grid.RowSpan="2" AutoGenerateColumns="False" Height="206" HorizontalAlignment="Left" Margin="12,265,0,0" Name="tabela" VerticalAlignment="Top" Width="556" SelectionChanged="tabela_SelectionChanged" ItemsSource="Binding MyObsCollection">
    <DataGrid.Columns>
        <DataGridTextColumn Header="Type" Width="120" Binding="{Binding Type}"/>
        <DataGridTextColumn Header="MapTo" Width="120" Binding="{Binding MapTo}"/>
        <DataGridTextColumn Header="Name" Width="116" Binding="{Binding Name}"/>
    </DataGrid.Columns>     
</DataGrid>

您可以在TextBlock TextTrimming设置为CharacterEllipsis ,以在文本大于可用大小的情况下显示椭圆。

另外,您可以在Tooltip显示完整的文本。 这是您对一个DataGridTextColumn

<DataGridTextColumn Width="20" Binding="{Binding Name}">
  <DataGridTextColumn.ElementStyle>
    <Style TargetType="TextBlock">
      <Setter Property="TextTrimming" Value="CharacterEllipsis"/>
      <Setter Property="ToolTip" Value="{Binding Text, 
                                 RelativeSource={RelativeSource Self}}"/>
    </Style>
  </DataGridTextColumn.ElementStyle>
</DataGridTextColumn>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM