【发布时间】:2018-03-11 17:35:02
【问题描述】:
在我的 WPF 解决方案中,我创建了一个自定义翻译标记扩展。我使用输入的键作为要显示的默认语言字符串。当用户更改语言时,我只需将资源绑定值更新为翻译版本。 如果最终用户不想拥有多种语言并且不想维护单独的资源文件,这真的很不错。
问题是我不能用"" 包围密钥。
这意味着如果字符串中存在逗号,则将其解释为多个键。我通过在键周围包裹特殊的"" 解决了这个问题:
" <!-- Double quote symbol -->
https://docs.microsoft.com/en-us/dotnet/framework/wpf/advanced/how-to-use-special-characters-in-xaml
如果我想在文本/键中使用逗号,语法真的很混乱。颜色突出显示也很疯狂。
<Label Content="{l:Translate Some kind of string}"/>
<Label Content="{l:Translate "With comma, not causing trouble if quoted"}"/>
有没有其他方法可以编写内联密钥,XAML 编辑器不会发疯,我不需要在密钥之前和之后添加特殊的 "?
【问题讨论】:
标签: c# wpf xaml markup-extensions