【发布时间】:2015-12-23 08:36:24
【问题描述】:
是否可以将可为空的类型传递给 XAML 泛型类型参数(x:TypeArguments)?
我有:
<base:ControlBase
x:TypeArguments="sys:Int32"
...
我需要 Int32 可以为空.. 像
<base:ControlBase
x:TypeArguments="sys:Nullable<sys:Int32>"
...
这似乎是无效的 XML/XAML。
我也尝试将其声明为sys:Nullabe&lt;sys:Int32&gt;,错误是:
'sys.Nullable' 不是泛型参数的有效类型名称引用
【问题讨论】:
-
来自docs for
x:TypeArguments:如果泛型约束本身使用泛型类型,则嵌套约束类型参数可以包含在括号 () 中。 如果这是正确的,您应该可以做x:TypeArguments="sys:Nullable(x:Int32)"。另请参阅XAML: Using Generic Types in XAML 2009。 -
那个也试过了,还是不行……
-
@PatrickHofman - 有趣,谢谢。它似乎应该来自文档。
-
是的,很奇怪。其他人提出了另一个建议,但这也不起作用:(