wpf和验证应用程序块>消息本地化>消息模板资源名称和类型
我正在尝试为WPF应用程序中的数据对象编写验证规则。我正在配置文件中编写它们,到目前为止,它们工作正常 如何使用messageTemplateResourceName和messageTemplateResourceType对消息进行本地化,我被难住了。我所知道的是,字符串可以写在资源文件中,给定名称并由该名称引用。我明白了,但我一直没能做到wpf和验证应用程序块>消息本地化>消息模板资源名称和类型,wpf,validation,localization,resources,enterprise-library,Wpf,Validation,Localization,Resources,Enterprise Library,我正在尝试为WPF应用程序中的数据对象编写验证规则。我正在配置文件中编写它们,到目前为止,它们工作正常 如何使用messageTemplateResourceName和messageTemplateResourceType对消息进行本地化,我被难住了。我所知道的是,字符串可以写在资源文件中,给定名称并由该名称引用。我明白了,但我一直没能做到 <ruleset name="Rule Set"> <properties> <property na
<ruleset name="Rule Set">
<properties>
<property name="StringValue">
<validator lowerBound="0" lowerBoundType="Ignore" upperBound="25"
upperBoundType="Inclusive" negated="false" messageTemplate=""
messageTemplateResourceName="msg1" messageTemplateResourceType="Resources"
tag=""
type="Microsoft.Practices.EnterpriseLibrary.Validation.Validators.StringLengthValidator, Microsoft.Practices.EnterpriseLibrary.Validation"
name="String Length Validator" />
</property>
</properties>
</ruleset>
资源文件在哪里?我应该向messageTemplateResourceType传递什么值?
我已经尝试在shell项目的资源文件中写入消息,但是尝试检索值没有成功。我只得到默认的内置消息
我试过了
messageTemplateResourceType=typeofResources
messageTemplateResourceType=资源
messageTemplateResourceType=Resources.resx
messageTemplateResourceType=typeofShell
messageTemplateResourceType=Shell
messageTemplateResourceType=Shell,
版本=1.0.0.0,区域性=中性,
PublicKeyToken=null
我还尝试在shell项目中添加新的资源文件,并将资源文件添加到数据对象的库中。我没有主意了有人有什么建议吗?我甚至不赞成使用资源文件,所以如果有其他方法来本地化这些消息,我很想知道
谢谢您需要创建自己的资源文件,然后将messageTemplateResourceType属性指向完全限定的资源类型。只要资源文件可以在运行时加载,就可以了
<ruleset name="Rule Set">
...
messageTemplateResourceName="msg1"
messageTemplateResourceType="My.Fully.Qualified.ResourceType, My.AssemblyName, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"
...
</ruleset>
另一种方法是使用messageTemplate作为键,并编写自定义代码,根据messageTemplate键从资源文件或数据库或任何存储它的地方查找实际本地化字符串。谢谢,我的程序集名称似乎不是我想象的那样。