这实际上是两个问题合而为一:
首先,当您编写 XAML 并且 Intellisense 无法识别您想要使用的类型(在我的例子中为数组)时,您将执行哪些步骤来弄清楚发生了什么?我首先检查 XML 命名空间,以确保一切看起来都井然有序。如果它是 CLR 类型(不是我自己的类型),那么我最终会检查 Google(通常找不到我需要的内容)。
在本例中,我的查询是“XAML WPF 命名空间缺少数组”,正如我所怀疑的那样,它告诉我数组位于 http://schemas.microsoft.com/winfx/2006/xaml 中。 ,但它不会出现在 Intellisense 中。这是为什么?
我看到的所有示例都在窗口或应用程序中,而不是在像我这样的用户控件中。这与我的问题有关吗?
好吧,我想这从技术上讲是三个问题。 :)
最佳答案
我不确定我是否真的理解你的问题是什么...如果你想在 XAML 中声明一个数组,请使用 x:Array markup extension 。使用 Int32
数组的示例:
<UserControl x:Class="YourNamespace.YourClass"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:sys="clr-namespace:System;assembly=mscorlib">
<UserControl.Resources>
<x:Array x:Key="arrayOfInt32" Type="sys:Int32">
<sys:Int32>4</sys:Int32>
<sys:Int32>8</sys:Int32>
<sys:Int32>15</sys:Int32>
<sys:Int32>16</sys:Int32>
<sys:Int32>23</sys:Int32>
<sys:Int32>42</sys:Int32>
</x:Array>
</UserControl.Resources>
...
关于wpf - UserControl XAML 中缺少数组元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1975067/