参考嵌套类型中的ObjectDatapRovider标记
-
18-09-2019 - |
题
我正在尝试在我的ObjectDataSource A La中使用嵌套类型 这个 文章。它似乎对我不起作用。
<ObjectDataProvider x:Key="myProvider" ObjectType="{x:Type local:OutsideClass+InsideClass}" MethodName="GetObjects" />
解决方案
这是VS 2008及以后的一个已知问题。 微软的官方立场是您不应该这样做:
尽管您正在编写的XAML显然是合法的,在运行时工作并在表达混合物中正确加载,但我们目前不认为从标记扩展程序中使用和访问嵌套类在应用程序构建中非常普遍。
其他提示
解决方案的一种方法 x:Type
对嵌套类型的引用是定义新的标记扩展名并使用它而不是 x:Type
标记扩展。我发布了有关其中一个的信息,包括 Type2Extension
班级,在 这个答案.
这 Type2Extension
不会产生设计师错误 TypeExtension
做。 也许这不会在VS 2010中发生。
唯一的警告是原始 TypeExtension
您使用 {x:Type
打字}
比有点强大 Type2Extension
(例如,检查参数是否为null并抛出异常)。
不隶属于 StackOverflow