我正在尝试将内联数据源用于数据网格,显然 XAML 使用 x:Array 支持内置类型数组,但是当我尝试声明嵌套数组时,尝试了几种方法,但没有一种有效。
<x:Array Type="{x:Type Array}">
<x:Array Type="{x:Type x:String}">
<x:String>aaa1</x:String>
<x:String>aaa2</x:String>
</x:Array>
<x:Array Type="{x:Type x:String}">
<x:String>aaa9</x:String>
<x:String>aaa10</x:String>
</x:Array>
</x:Array>
这也行不通:
<x:Array Type="{x:Type {x:Array Type={x:Type String}}">
试试这个:
<x:Array xmlns:s="clr-namespace:System;assembly=mscorlib" x:Key="array" Type="{x:Type s:Array}">
<x:Array Type="{x:Type s:String}">
<s:String>aaa1</s:String>
<s:String>aaa2</s:String>
</x:Array>
<x:Array Type="{x:Type s:String}">
<s:String>aaa9</s:String>
<s:String>aaa10</s:String>
</x:Array>
</x:Array>
示例用法:
<ItemsControl ItemsSource="{StaticResource array}">
<ItemsControl.ItemTemplate>
<DataTemplate>
<ItemsControl ItemsSource="{Binding}">
<ItemsControl.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding}" />
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>