我正在努力解决WPF中ToolTip
的一个奇怪问题:
首先,代码:
<TextBlock Text="{Binding SelectedItem.Approver.Timestamp, StringFormat='{}{0:g}'}"
ToolTip="{Binding SelectedItem.Approver.Timestamp, StringFormat='{}{0:f}'}" />
如您所见,&#34; g format specifier&#34; (例如2016-12-24 23:42
)用于时间戳的显示和&#34; f format specifier&#34; (例如Saturday, 24. December 2016 23:42
)其ToolTip
。
然而,我得到的是:2016-12-24 23:42
。换句话说:ToolTip
显示的格式与TextBlock
完全相同。
将TextBlock
切换到&#34; f格式说明符&#34;时,它变得更奇怪:ToolTip
只保留&#34; g格式指定的格式符&#34;
所以,我有两个问题:
a)为什么?
和
b)如何执行我想要的格式?
答案 0 :(得分:1)
我得到了它的工作。
<TextBlock Text="{Binding SelectedItem.Approver.Timestamp, StringFormat={}{0:g}}">
<TextBlock.ToolTip>
<ToolTip Content="{Binding SelectedItem.Approver.Timestamp}" ContentStringFormat="{}{0:f}" />
</TextBlock.ToolTip>
</TextBlock>
由于Tooltip可以包含任何内容,我们应该使用它的ContentStringFormat。
答案 1 :(得分:0)
我认为语法不正确。
请参阅:
<TextBlock Text="{Binding SelectedItem.Approver.Timestamp, StringFormat={}{0:g}}"
ToolTip="{Binding SelectedItem.Approver.Timestamp, StringFormat={}{0:f}}" />