几年前我做了很多 WPF,但似乎忘记了一切。
假设我有一个简单的业务类,比如 TFS 工作项。
public class WorkItem
{
public WorkItem(string name, DateTime date)
{
Name = name;
Date = date;
}
public string Name { get; set; }
public DateTime Date { get; set; }
}
然后我有一个工作项列表,可能是这样的。
class WiList : ObservableCollection<WorkItem>
{
public WiList () : base()
{
Add(new WorkItem("1", DateTime.Now));
Add(new WorkItem("2", DateTime.Now));
}
}
然后我有一个代表 WorkItem 的 UserControl,就像这样。
<UserControl
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d"
x:Class="WrapPanelItemsControlTest.WorkItemControl"
x:Name="UserControl"
d:DesignWidth="640" d:DesignHeight="480" HorizontalAlignment="Left"
VerticalAlignment="Top" Width="72" Height="40">
<StackPanel x:Name="LayoutRoot">
<TextBlock x:Name="Name"/>
<TextBlock x:Name="Date"/>
</StackPanel>
主窗口包含一个 WrapPanel 来保存用户控件。我的问题是,如何创建一个绑定到 WiList 并显示 WorkItems 的 WrapPanel?我记得以前做过这样的事情,但是因为我死了,我不记得是怎么做的(可能来自 Bea Costa 的博客)。当然,我在任何地方都找不到我的旧测试代码,而且似乎在谷歌搜索示例方面表现不佳。
任何帮助都会受到重视。