Windows Workflow 4.0中特定于文化的XAML工作流程

时间:2011-07-27 14:36:53

标签: workflow-foundation-4 culture

我使用单个InArgument创建了一个简单的XAML工作流,默认值为1.234。如果我然后在Regional和Lanaguage Options中将我的机器切换到法语(法国)并尝试将工作流程加载到VS设计视图中,我会收到错误:

'无法从文本'1.234'创建'InArgument'。'

查看XAML我可以看到属性this:Activity1.arg1 =“1.234”,这是导致问题的原因。然后我尝试使用VS从头创建一个等效的XAML工作流程,同时仍在法语设置下运行,结果XAML不同 - 属性为:Activity1.arg1 =“[1.234]”。

这给我带来两个问题:

1)我们的最终用户将无法将XAML文件发送给在不同区域设置下运行的其他用户

2)两个XAML文件反序列化为不同的对象图 - 在第一种情况下,我最终得到一个Literal,在第二种情况下,我得到一个VisualBasicValue。然后,当我以编程方式操作工作流时,我需要对差异进行编码。

是否有一些简单的方法可以通过确保XAML始终在中性文化中书写/阅读来避免这种情况?

1 个答案:

答案 0 :(得分:3)

您可以以编程方式将Thread.CurrentCulture更改为不变文化。这可以在加载工作流时暂时完成。