工具提示文化是错误的

我在xaml:

 

这里是截图(使用放大镜):

我的问题是这里发生了什么? 为什么工具提示显示不同的值(小数点是.虽然,是预期的)?


更长的故事:

我试图以与用户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; } } 

它适用于TextBox Text属性,但它不适用于ToolTip

要真正看到我在屏幕截图中显示的内容:

  • go(Windows 7) Control Panel/Region and Language/Formats并将Control Panel/Region and Language/Formats设置为English (United States)
  • go Additional settings/Numbers并更改Decimal symbol .,
  • 创建新的wpf应用程序,复制xaml,添加语言覆盖,添加转换器和设置:

 public partial class MainWindow : Window { public double Test { get; set; } = 1.234567; public MainWindow() { InitializeComponent(); DataContext = this; } } 

我也面临同样的问题。 因此,您可以通过在ToolTip添加TextBlock并为此ToolTip的TextBlock Text="{local:Bind Test}"相同的Text="{local:Bind Test}"来解决此问题。