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();
收工!