WPF:在 VS2010 中使用自定义标记扩展时出现空格键问题

发布于 2024-10-14 17:57:43 字数 912 浏览 2 评论 0原文

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

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

您建议采取什么样的最佳实践才能在不造成不便的情况下键入空格?

感谢您的见解。

We developed a localization solution using custom markup extension in VS 2008.

At the time, we used it this way :

<TextBlock Text={utilsWpf:Intl Key=ObjectName.PropertyName, DefaultText=Default Name} />

(Notice the space in the DefaultText). (Notice also how the text-color tool of StackOverflow changes the color of the words as well).

But it works fine and compiles without a problem.

In VS 2010 though, whenever you try to type a space using this way of implementing a markup extension, the IDE always adds a comma for you, which gives :

<TextBlock Text={utilsWpf:Intl Key=ObjectName.PropertyName, DefaultText=Default, Name} />

Of course, it doesn't compile anymore...

One solution to it is to implement this markup extension the other way :

<TextBlock>
    <TextBlock.Text>
       <utilsWpf:Intl Key="ObjectName.PropertyName", DefaultText="Default Name"/>
    </TextBlock.Text>
</TextBlock>

But it adds a lot of lines and we don't have only one textblock as you can imagine...

Another solution is not to type the space, but copy another space and paste it (which still compiles in VS 2010 but is quite crude).

As I see it, our solution isn't the best practice.

What kind of best practice would you advise to be able to type spaces without inconvenience?

Thanks for your insights.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

女皇必胜 2024-10-21 17:57:43

尝试使用单引号:

<TextBlock Text="{utilsWpf:Intl Key=ObjectName.PropertyName, DefaultText='Default Name'}" /> 

Try using single quotes:

<TextBlock Text="{utilsWpf:Intl Key=ObjectName.PropertyName, DefaultText='Default Name'}" /> 
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文