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

R4j*_*R4j 8 .net c# wpf

目前我需要在数据单元格列类型中格式化工具提示字符串DataGridTextColumn
这是我的尝试:

<DataGrid.Columns>
   <DataGridTextColumn Header ="Count Number">
      <DataGridTextColumn.CellStyle>
         <Style TargetType="DataGridCell">
             <Setter Property="ToolTip" 
                  Value="{Binding CountNumber, StringFormat={}{0:00}}">
             </Setter>
          </Style>
       </DataGridTextColumn.CellStyle>
       <DataGridTextColumn.Binding>
          <Binding Path="CountNumber" StringFormat="{}{0:00}" UpdateSourceTrigger="PropertyChanged" />
        </DataGridTextColumn.Binding>
   </DataGridTextColumn>

  <!-- other columns-->
</DataGrid.Columns>
Run Code Online (Sandbox Code Playgroud)

我也尝试过:

<DataGridTextColumn.CellStyle>
       <Style TargetType="DataGridCell">
           <Setter Property="ToolTip"  Value="{Binding CountNumber}"/>
           <Setter Property="ToolTip.ContentStringFormat" Value="{}{0:00}"/>                
       </Style>
 </DataGridTextColumn.CellStyle>
Run Code Online (Sandbox Code Playgroud)

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

Ana*_*aev 5

试试这个:

<DataGridTemplateColumn Width="260" Header="MySample">
    <DataGridTemplateColumn.CellTemplate>
        <DataTemplate>
            <TextBlock Text="{Binding Age}">
                <TextBlock.ToolTip>
                    <ToolTip>
                        <TextBlock Text="{Binding Path=Age, StringFormat=0\{0\}}" />
                    </ToolTip>
                </TextBlock.ToolTip>
            </TextBlock>
        </DataTemplate>
    </DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
Run Code Online (Sandbox Code Playgroud)

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

ToolTip是一个内容控件,这意味着它实际上没有显示模型.由于TextBox旨在显示文本,因此StringFormat绑定属性的工作方式与广告一样.按钮是另一个例子.(两者都来自ContentControl).

我们的想法是StringFormat获得了ToolTip,你需要设置ContentControl有TextBlock:

<TextBlock.ToolTip>
    <ToolTip>
        <TextBlock Text="{Binding Path=Age, StringFormat=0\{0\}}" />
    </ToolTip>
</TextBlock.ToolTip>
Run Code Online (Sandbox Code Playgroud)

你主要的是设置力ContentControl的ToolTip,没有必要,因为在我的例子(带DataGridTemplateColumn).