【问题标题】:Binding in multilanguage WPF Application [duplicate]多语言 WPF 应用程序中的绑定 [重复]
【发布时间】:2021-02-18 00:22:30
【问题描述】:

我在一个多语言应用程序上工作,除了绑定值之外一切都很好,例如:在我的用户组表中,我有两个字段 nameen_name,我将 name 绑定到一个文本框:

<TextBox Text="{Binding name}"/>

当我更改应用程序的语言时,如何将绑定更改为en_name

【问题讨论】:

  • 我不认为这是编写多语言应用程序的可扩展方法,当您需要其他语言时会发生什么?您需要添加更多属性。最好为您的字符串创建一个 resx 文件,并为每种语言创建一个不同的文件。
  • 我认为@Athul 是正确的。您不应该为该语言创建不同的变量,但您应该在更改语言时更新 name 变量,并且 binging 将在 UI 中更新它
  • 不要发明轮子,看看例如here 用于标记扩展解决方案。

标签: c# wpf binding multilingual


【解决方案1】:

当我更改应用程序的语言时,如何更改与 en_name 的绑定?

你没有。您更改 name 源属性的 以返回英文名称。

如果你想改变实际的绑定,你需要自己编程:

textBox.SetBinding(TextBox.TextProperty, new Binding("en_name"));

【讨论】:

    【解决方案2】:

    你好@Abdulsalam Elsharif,

    理想情况下这是错误的方法,但如果这是您的要求,那么我建议您传递当前语言并重命名该列。

    从表中选择 en_name 作为 [name];

    【讨论】:

      猜你喜欢
      • 2012-07-04
      • 1970-01-01
      • 1970-01-01
      • 2023-03-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多