我有xaml:
<TextBlock Text="{local:Bind Test}" ToolTip="{local:Bind Test}" />
这是截图(使用放大镜):
我的问题是这里发生了什么?为什么工具提示以不同的方式显示值(小数点为.
而,
是预期的)?
更长的故事:
我正在尝试以与用户Windows数字格式首选项相同的格式显示数字。
为此我在显示窗口之前覆盖了语言(覆盖App.OnStartup):
FrameworkElement.LanguageProperty.OverrideMetadata(typeof(FrameworkElement),
new FrameworkPropertyMetadata(XmlLanguage.GetLanguage(CultureInfo.CurrentCulture.IetfLanguageTag)));
使用以下自定义绑定(默认情况下设置转换器文化)
public class Bind : Binding
{
public Bind(string path) : base(path)
{
ConverterCulture = CultureInfo.CurrentCulture;
}
}
适用于Text
的{{1}}属性,但不适用于TextBox
。
要真实地看到我在屏幕截图中显示的内容:
ToolTip
并将Control Panel/Region and Language/Formats
设为Format
English (United States)
并将Additional settings/Numbers
从Decimal symbol
更改为.
,
答案 0 :(得分:4)
我也面临同样的问题。因此,您可以在TextBlock
中添加ToolTip
并为此ToolTip的TextBlock绑定相同的Text="{local:Bind Test}"
来解决此问题。
<TextBlock>
<TextBlock.ToolTip>
<TextBlock Text="{local:Bind Test}"/>
</TextBlock.ToolTip>
</TextBlock>