我有一个wpf应用程序,我想要中继器一样的功能。我指的是以下帖子Wpf repeater like control,所以我有类似ItemsControl的项目源的列表。我要显示的内容如下;
父级内容1
子内容1。父级Content2
子内容2。等等。
因此,父级内容1和父级内容2是Data对象内部的名称属性,而子级content1和子级Content2就像数据对象内部的value属性。
这是我创建的示例应用程序,但出现了xaml解析异常,内容为“向类型'System.Windows.Controls.UIElementCollection类型的集合添加值”引发了异常”。这只是部分xaml。我是项目控件的新手。请帮忙。
'header' => array("Content-Type: application/x-www-form-urlencoded",
"Cookie: session_hash=123456789")
Mainwindow.cs
<ItemsControl
ItemsSource="{Binding Path=AllItems}">
<ItemsControl.ItemTemplate>
<DataTemplate>
<Label Content="{Binding names}"></Label>
</DataTemplate>
</ItemsControl.ItemTemplate>
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<StackPanel Orientation="Horizontal" Margin="10">
<TextBlock
Text="{Binding}"></TextBlock>
</StackPanel>
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
</ItemsControl>
答案 0 :(得分:1)
无需设置ItemsPanelTemplate
,因为默认情况下它使用StackPanel
。这里的问题是因为您还在TextBlock
内添加了ItemsPanelTemplate
。删除它,然后在ItemTemplate
中添加正确的数据格式。
<ItemsControl
ItemsSource="{Binding Path=AllItems}">
<ItemsControl.ItemTemplate>
<DataTemplate>
<StackPanel>
<TextBlock Text="{Binding names}"></TextBlock>
<TextBlock Text="{Binding value}"></TextBlock>
</StackPanel>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>