System:Char 类型的异常

发布于 2024-09-26 16:19:40 字数 634 浏览 2 评论 0原文

我正在尝试在我的 xaml 资源中创建可重用的 System:Char 值。

我有:

xmlns:s="clr-namespace:System;assembly=mscorlib"

然后:

<s:Char x:Key="MaskPromptChar">#</s:Char>

我得到一个异常:

The type 'Char' was not found. [Line: 8 Position: 44]

但是...我也有:

<s:Double x:Key="DefaultControlWidth">200</s:Double>

并且...

<s:String x:Key="ApplicationTitle">My Title</s:String>

StringDouble 都工作正常。

想法??

I am trying to create a reusable System:Char value in my xaml resources.

I have:

xmlns:s="clr-namespace:System;assembly=mscorlib"

Then:

<s:Char x:Key="MaskPromptChar">#</s:Char>

I get an exception:

The type 'Char' was not found. [Line: 8 Position: 44]

But... I also have:

<s:Double x:Key="DefaultControlWidth">200</s:Double>

And...

<s:String x:Key="ApplicationTitle">My Title</s:String>

Both String and Double work fine.

Ideas??

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

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

发布评论

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

评论(2

猥琐帝 2024-10-03 16:19:40

这段代码在 Silverlight 和 WPF 中都适用。

<UserControl.Resources>
<sys:Double x:Key='myDouble'>4</sys:Double>
<sys:Char  x:Key='myChar'>#</sys:Char>
</UserControl.Resources>
<StackPanel x:Name="LayoutRoot">
  <PasswordBox Password='aaa'
               PasswordChar='

您试图将字符分配给什么属性?

/> <PasswordBox Password='aaa' PasswordChar='{StaticResource myChar}' /> </StackPanel>

您试图将字符分配给什么属性?

This code works for me in both Silverlight and WPF.

<UserControl.Resources>
<sys:Double x:Key='myDouble'>4</sys:Double>
<sys:Char  x:Key='myChar'>#</sys:Char>
</UserControl.Resources>
<StackPanel x:Name="LayoutRoot">
  <PasswordBox Password='aaa'
               PasswordChar='

What property are you trying to assign the char to?

/> <PasswordBox Password='aaa' PasswordChar='{StaticResource myChar}' /> </StackPanel>

What property are you trying to assign the char to?

何止钟意 2024-10-03 16:19:40

我的猜测是 Char 是一个结构< /a>,而不是一个对象,您真正看到的是表示 Unicode 的 16 位整数值的装箱。我倾向于将 XAML 视为对象的专门化序列化,如果 Char 实际上是一个 struct,这个模型可能会崩溃。

您可能需要考虑硬着头皮使用长度为 1 的字符串。

更新:我同意gmcalab的可靠推理,并在此基础上使用mscorlib的命名空间和相应的字符资源进行了实验。 它工作顺利。 (我们现在正在考虑命名空间或库冲突问题吗?)

My guess is that Char is a structure, rather than an object, and what's you're really looking at is boxing of a 16-bit integer value representing Unicode. I tend to look at XAML as a specialization serialization of objects, and if Char is actually a struct, this model may break down.

You might want to consider biting the bullet and using a String of length one instead.

UPDATE: I agree with gmcalab's solid line of reasoning, and based on that conducted an experiment using a namespace to mscorlib and the corresponding character resource. It worked without a hitch. (Are we now looking at a namespace or library collision problem?)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文