【问题标题】:Culture-specific XAML workflows in Windows Workflow 4.0Windows Workflow 4.0 中特定于文化的 XAML 工作流
【发布时间】:2011-07-27 14:36:52
【问题描述】:

我创建了一个简单的 XAML 工作流,其中包含一个默认值为 1.234 的 InArgument。如果我在区域和语言选项中将我的机器切换到法语(法国)并尝试将工作流加载到 VS 设计视图中,我会收到错误消息:

'未能从文本'1.234'创建'InArgument'。'

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

这给我带来了两个问题:

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

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

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

【问题讨论】:

    标签: workflow-foundation-4 culture


    【解决方案1】:

    您可以以编程方式将Thread.CurrentCulture 更改为不变的区域性。这可以在加载工作流时临时完成。

    【讨论】:

    • 这是我最终做的,但这不是一个很好的解决方法,因为客户仍然可以使用 Visual Studio 创建工作流,同时在非固定文化中运行。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多