Пару лет назад я сделал немного 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; }
}
Тогда у меня есть список WorkItems, возможно, что-то вроде этого.
class WiList : ObservableCollection<WorkItem>
{
public WiList () : base()
{
Add(new WorkItem("1", DateTime.Now));
Add(new WorkItem("2", DateTime.Now));
}
}
Тогда у меня есть UserControl, который представляет WorkItem, что-то вроде этого.
<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 для хранения пользовательских элементов управления. У меня вопрос, как мне создать WrapPanel, которая привязывается к WiList и отображает WorkItems? Я помню, что делал что-то подобное раньше, но из-за своей смерти я не могу вспомнить, как это произошло (возможно, что-то из блога Би Косты). Конечно, я нигде не могу найти свой старый тестовый код, и, похоже, он очень плох в поиске примеров.
Любая помощь оценивается.