假设我有List<MyObject>
,
哪些商店
class MyObject
{
public String Headline {get;set;}
public DateTime MyDate {get;set;}
}
我希望以垂直顺序显示每个MyObject
,以使其看起来像列表中的条目,带有圆角,并将值写在背景图像上。
我用谷歌搜索了两张看起来接近我想要的显示控件的图片:
http://assets.gearlive.com/blogimages/gallery/sonos-iphone-app/sonos-iphone-zone-menu_medium.jpg
http://iconfactory.com/twitterrific_touch/images/screenshot_list.png
我可以使用什么样的控制?它就像一个带有自定义模板的Repeater / ListView。 (假设我没有任何图形技能。如何创建一个圆角和矩形作为背景的矩形?)
(我是WPF的新手)
答案 0 :(得分:2)
如果您不想选择,请转到ItemsControl
。否则使用ListBox
。
ListBox
继承自Selector
,继承自ItemsControl
并添加了选择功能。
XAML:
<ItemsControl Name="ItemsControl1">
<ItemsControl.ItemTemplate>
<DataTemplate>
<StackPanel>
<TextBlock Text="<Binding Headline}" />
<TextBlock Text="<Binding MyDate}" />
</StackPanel>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
代码背后:
ItemsControl1.ItemsSource = ListOfMyObjects;
答案 1 :(得分:1)
你应该使用ListBox
。然后,为您的对象类型DataTemplate
制作一个here is a nice explanation on DataTemplates。您还应该MyObject
从INotifyPropertyChanged
派生,以便在更改对象中的值时,它会自动更新您的UI。另外一件事,您应该从List<MyObject>
更改为ObservableCollection<MyObject>
,以便在添加/删除项目时自动更新ListBox