几年前,我做了很多WPF,但似乎忘记了一切。将简单的业务类绑定到WPF UserControl
假设我有一个简单的商务课程,比如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来保存用户控件。我的问题是,我如何创建一个绑定到WiList并显示WorkItems的WrapPanel?我记得之前做过这样的事情,但对于我的死亡我不记得是怎么回事(可能来自Bea Costa的博客)。当然,我无法在任何地方找到我的旧测试代码,并且在搜索示例时看起来很糟糕。
任何帮助appreaciated。
正在初始化ItemsSource _from code-behind_不是一个好习惯。你可能意思是这样,但从P.S.中可能不清楚。 +1 =) – 2010-02-08 21:08:53
谢谢!当然,我放弃了这些话,我会纠正自己 – arconaut 2010-02-08 21:15:33