【发布时间】:2018-08-11 01:51:04
【问题描述】:
我有一个 wpf 应用程序,我想要类似转发器的功能。我指的是以下帖子Wpf repeater like control 所以我有一个类似于ItemsControl 的项目源的列表。我要显示的内容如下;
父内容1
儿童内容1。父内容2
子内容2。等等……
因此,父内容 1 和父内容 2 是数据对象内的名称属性,而子内容 1 和子内容 2 类似于数据对象内的值属性。
这是我创建的示例应用程序,但我收到一个 xaml 解析异常,提示“'向'System.Windows.Controls.UIElementCollection' 类型的集合添加值引发异常”。这只是部分 xaml。我是项目控制的新手。请帮忙。
<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>
主窗口.cs
public partial class MainWindow : Window
{
public List<Data> AllItems { get; set; }
public MainWindow()
{
InitializeComponent();
this.DataContext = this;
Populate();
}
public void Populate()
{
AllItems = new List<Data>();
Data data = new Data();
data.names = "Parent Content1";
data.value = "Child Content1";
AllItems.Add(data);
Data data1 = new Data();
data1.names = "Parent Content2";
data1.value = "Child Content2";
AllItems.Add(data1);
}
}
public class Data
{
public string names { get; set; }
public string value { get; set; }
}
【问题讨论】:
标签: c# wpf xaml itemscontrol