对于 xaml 中的 PageFunction,我写道:
x:TypeArguments="sys:String"
但是如果我需要:
PageFunction<List<string>>
真的要写一个包装类吗?我希望有一个更简单的解决方案...
您需要使用以下语法:
如果泛型约束本身使用泛型类型,则嵌套约束类型参数可以包含在括号 () 中。
xmlns:system="clr-namespace:System;assembly=mscorlib"
xmlns:v4="http://schemas.microsoft.com/netfx/2009/xaml/presentation"
x:TypeArguments="generic:List(system:String)"
http://msdn.microsoft.com/en-us/library/ms750476.aspx
但这仅适用于松散的 XAML 文件,因此不适用于您的情况,v4 命名空间仅对它们有效: http ://social.msdn.microsoft.com/Forums/vstudio/en-US/403b0e13-7772-4c70- a92e-4a87a891221c/issue-with-xtypearguments-generic-list-class-and-xaml
您将不得不继承或使用System.Collections.Specialized.StringCollection代替:
xmlns:specialized="clr-namespace:System.Collections.Specialized;assembly=System"
x:TypeArguments="specialized:StringCollection"