DevExpress是比较流行的控件库,使用者较多,不知道大家有没有遇到MessageBox的确定、取消按钮上的文字是英文的情况。
这是因为DevExpress压根没有中文语言包,至少我这边看到的情况是这样的。
不多说,直接上代码。
1 using DevExpress.Xpf.Core;
2 using static Localization.ResourceCommon;
3
4 public class MyDXMessageBoxLocalizer : DXMessageBoxLocalizer
5 {
6 protected override void PopulateStringTable()
7 {
8 AddString(DXMessageBoxStringId.Cancel, CancelString);
9 AddString(DXMessageBoxStringId.Ok, OkString);
10 AddString(DXMessageBoxStringId.Yes, YesString);
11 AddString(DXMessageBoxStringId.No, NoString);
12 }
13 }
(上面的`CancelString`等变量就是前面文章提到的多语言字符串静态变量)
使用方式:
在启动代码处添加下面这句。
DXLocalizer<DXMessageBoxStringId>.Active = new MyDXMessageBoxLocalizer();
收工!