我们在 VS 2008 中使用自定义标记扩展开发了一个本地化解决方案。
当时,我们是这样使用它的:
<TextBlock Text={utilsWpf:Intl Key=ObjectName.PropertyName, DefaultText=Default Name} />
(注意 DefaultText 中的空格)。(还要注意 StackOverflow 的文本颜色工具如何改变单词的颜色)。
但它工作正常并且编译没有问题。
但是在 VS 2010 中,每当您尝试使用这种实现标记扩展的方式键入空格时,IDE 总是会为您添加一个逗号,它给出:
<TextBlock Text={utilsWpf:Intl Key=ObjectName.PropertyName, DefaultText=Default, Name} />
当然,它不再编译了...
一种解决方案是以另一种方式实现此标记扩展:
<TextBlock>
<TextBlock.Text>
<utilsWpf:Intl Key="ObjectName.PropertyName", DefaultText="Default Name"/>
</TextBlock.Text>
</TextBlock>
但它增加了很多行,而且我们没有你想象的只有一个文本块......
另一种解决方案是不输入空格,而是复制另一个空格并粘贴(在 VS 2010 中仍然可以编译,但相当粗糙)。
在我看来,我们的解决方案并不是最佳实践。
你会建议什么样的最佳实践能够在没有不便的情况下键入空格?
感谢您的见解。