C1DataGrid和C1FlexGrid 新行的提示如何切换多语言显示
C1DataGrid和C1FlexGrid 表格有追加新行的提示时,如何切换多语言显示。比如:
换成英文:
现在代码里通过改变Culture,界面其它资源都可以变,只有Grid这里提示有时候不变,是否控件需要特别设置?
Thread.CurrentThread.CurrentCulture = Thread.CurrentThread.CurrentUICulture = new CultureInfo(g_strSelectLanguage);
谢谢您的反馈。
通过LoadedRowPresenter事件可以拿到WatermarkText 属性进行文字的自定义。
代码参考:
void c1DataGrid1_LoadedRowPresenter(object sender, C1.WPF.DataGrid.DataGridRowEventArgs e)
{
if (e.Row.GetType() == typeof(C1.WPF.DataGrid.DataGridNewRow))
{
C1.WPF.DataGrid.DataGridNewRow dNew = e.Row as C1.WPF.DataGrid.DataGridNewRow;
((C1.WPF.DataGrid.DataGridNewRowPresenter)(dNew.Presenter)).WatermarkText = "This is customized New Row Text";
}
}
本帖最后由 dawnwind 于 2017-2-16 10:22 编辑
感谢回复,DataGrid按照参考代码已经解决。
但还是想知道通过改变Culture为什么不能解决,
因为程序重新启动后有时候是可以改变的。
说明控件是可以根据Culture设置的的不同语言而自行改变语言提示。
是否需要特别注意些事项。
dawnwind 发表于 2017-2-16 10:13
感谢回复,DataGrid按照参考代码已经解决。
但还是想知道通过改变Culture为什么不能解决,
因为程序重新 ...
默认是根据系统变化,Culture也可以改变语言。
无法重现您那里提到的问题。 我要的效果就是demo里点击button,界面上Grid那就话就可以改变语言的。
demo启动时是可以按照指定的calture显示的。 dawnwind 发表于 2017-2-17 16:51
我要的效果就是demo里点击button,界面上Grid那就话就可以改变语言的。
demo启动时是可以按照指定的caltur ...
非常感谢您提供的Demo。
您在Demo中运行时动态修改语言。
在WPF平台下,控件中展示的文字都是写在resource文件中的,Culture语言的修改需要在加载之前进行。
如果已经加载过,resource在运行时是被Catch住的。
WPF平台下,无法重新的再去加载resource资源,它使用的是加载前的资源。
但是个别还未显示出来的(比如format类),有可能在运行时发生语言的改变。因此就会产生您提到的有的发生改变,有的没有改变的问题。
WPF平台不支持运行时动态修改Catch住的resouce资源。(重启后会释放cathc的资源,进行更新)
明白了,感谢回复 dawnwind 发表于 2017-2-17 17:35
明白了,感谢回复
不用客气。
周末愉快。{:4_86:}
页:
[1]