2

我们在 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 中仍然可以编译,但相当粗糙)。

在我看来,我们的解决方案并不是最佳实践。

你会建议什么样的最佳实践能够在没有不便的情况下键入空格?

感谢您的见解。

4

1 回答 1

0

尝试使用单引号:

<TextBlock Text="{utilsWpf:Intl Key=ObjectName.PropertyName, DefaultText='Default Name'}" /> 
于 2011-01-25T10:19:46.000 回答