如何在Silverlight中控制数字替换?

时间:2014-01-08 08:12:18

标签: wpf silverlight cultureinfo

我在Wpf中创建了一个特殊用途的富文本编辑器。在那里,我有两个控制数字替换的按钮,将123转换为123,反之亦然。

第一个按钮执行此操作:

targetRange.ApplyPropertyValue(NumberSubstitution.CultureOverrideProperty, new CultureInfo("fa-IR"));
targetRange.ApplyPropertyValue(NumberSubstitution.CultureSourceProperty, NumberCultureSource.Override);
targetRange.ApplyPropertyValue(NumberSubstitution.SubstitutionProperty, NumberSubstitutionMethod.Traditional);

将选择中的所有数字显示为arabic-hindi digist 123,第二个显示:

targetRange.ApplyPropertyValue(NumberSubstitution.CultureOverrideProperty, new CultureInfo("en-US"));
targetRange.ApplyPropertyValue(NumberSubstitution.CultureSourceProperty, NumberCultureSource.Override);
targetRange.ApplyPropertyValue(NumberSubstitution.SubstitutionProperty, NumberSubstitutionMethod.European);

将它们显示为阿拉伯语 - 欧洲数字123。

我正在尝试创建一个类似于此编辑器的silverlight。似乎我无法在silverlight中执行相同的任务。任何关于Silverlight数字替换的谷歌搜索都不会产生相关结果。

你能指出我正确的方向吗?

PS:更改CultureInfo不是一个选项,因为我需要在同一个应用程序中混合这些数字。

1 个答案:

答案 0 :(得分:0)

你能不能只使用Int32.ToString(String, IFormatProvider) method?也许是这样的:

int value = GetYourIntValue();
string newValue = value.ToString(new CultureInfo("fa-IR"));