目前我需要在数据单元格列类型中格式化工具提示字符串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.有什么想法吗?
试试这个:
<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).