当前位置: 移动技术网 > IT编程>开发语言>.net > 中型WPF客户端开发项目总结(3.3.3) - 带修饰符的多语言术语

中型WPF客户端开发项目总结(3.3.3) - 带修饰符的多语言术语

2020年04月14日  | 移动技术网IT编程  | 我要评论

江西南丰县,欧阳志福,网络学习

标题可能有点不好理解,我解释一下:

术语指的是常用词汇,比如用户(user)、名称(name)、邮箱(email)等。

带修饰符指的是ui上需要呈现`用户:`、`名称:`、`邮箱:`等这些情况。

由于之前已经定义过了用户此类词汇的多语言,如果还需要再对它们带冒号的版本定义一次多语言,这个过程会非常冗余,而且容易出错。如何解决?

1. 定义新的ivalueconverter

1 public class stringexpandcolonconverter : ivalueconverter
2 {
3         public object convert(object value, type targettype, object parameter, cultureinfo culture) => $"{value}{colonstring}";
4         public object convertback(object value, type targettype, object parameter, cultureinfo culture) => throw new notimplementedexception();
5 }

上面的`colonstring`是冒号的多语言变量。

2. 扩展binding

1 public class stringcolonbinding : binding
2 {
3         private static readonly ivalueconverter _converter = new stringexpandcolonconverter();
4         public stringcolonbinding()
5         {
6             converter = _converter;
7             mode = bindingmode.onetime;
8         }
9 }

3. 使用

<textblock text="{mk:stringcolonbinding source={x:static res:resourcecommon.sitestring}}" />

mk是binding扩展所在的命名空间,res是多语言资源文件所在的命名空间。

 

 是不是很方便?^-^

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网