c# – 如何在WPF中的DataGridTextColumn中格式化工具提示的字符串

前端之家收集整理的这篇文章主要介绍了c# – 如何在WPF中的DataGridTextColumn中格式化工具提示的字符串前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
目前我需要在数据单元格列类型DataGridTextColumn中格式化工具提示字符串
这是我的尝试:
  1. <DataGrid.Columns>
  2. <DataGridTextColumn Header ="Count Number">
  3. <DataGridTextColumn.CellStyle>
  4. <Style TargetType="DataGridCell">
  5. <Setter Property="ToolTip"
  6. Value="{Binding CountNumber,StringFormat={}{0:00}}">
  7. </Setter>
  8. </Style>
  9. </DataGridTextColumn.CellStyle>
  10. <DataGridTextColumn.Binding>
  11. <Binding Path="CountNumber" StringFormat="{}{0:00}" UpdateSourceTrigger="PropertyChanged" />
  12. </DataGridTextColumn.Binding>
  13. </DataGridTextColumn>
  14.  
  15. <!-- other columns-->
  16. </DataGrid.Columns>

我也尝试过:

  1. <DataGridTextColumn.CellStyle>
  2. <Style TargetType="DataGridCell">
  3. <Setter Property="ToolTip" Value="{Binding CountNumber}"/>
  4. <Setter Property="ToolTip.ContentStringFormat" Value="{}{0:00}"/>
  5. </Style>
  6. </DataGridTextColumn.CellStyle>

但他们都不行.例如,数字3应显示为03.有什么想法吗?

解决方法

试试这个:
  1. <DataGridTemplateColumn Width="260" Header="MySample">
  2. <DataGridTemplateColumn.CellTemplate>
  3. <DataTemplate>
  4. <TextBlock Text="{Binding Age}">
  5. <TextBlock.ToolTip>
  6. <ToolTip>
  7. <TextBlock Text="{Binding Path=Age,StringFormat=0\{0\}}" />
  8. </ToolTip>
  9. </TextBlock.ToolTip>
  10. </TextBlock>
  11. </DataTemplate>
  12. </DataGridTemplateColumn.CellTemplate>
  13. </DataGridTemplateColumn>

Here是对这个技巧的描述.引用:

A ToolTip is a content control,which means it doesn’t really have a display model. Since the TextBox is designed to display text,the StringFormat binding property works as advertised. Button is another example of this. (Both derive from ContentControl).

想法是在ToolTip中获得StringFormat,你需要使用TextBlock设置ContentControl:

  1. <TextBlock.ToolTip>
  2. <ToolTip>
  3. <TextBlock Text="{Binding Path=Age,StringFormat=0\{0\}}" />
  4. </ToolTip>
  5. </TextBlock.ToolTip>

最重要的是在ToolTip中设置强制ContentControl,不一定,如我的示例中所示(使用DataGridTemplateColumn).

猜你在找的C#相关文章