我有一个包含多个GridViewColumns的ListView(Title,Start,Due)。那么如何使用字符串Title,datetime Start和datetime Due绑定一个对象。在程序代码中,我已经说过:
lvwFill.ItemsSource = assignments.ListAssignments(); //Returns a List<Assignments>
所以现在我的XAML是:
<ListView x:Name="lvwFill">
<ListView.View>
<GridView>
<GridViewColumn x:Name="TitleColumn" Header="Title" Width="125" />
<GridViewColumn x:Name="DueColumn" Header="Due" Width="75" />
<!-- ... -->
</GridView>
</ListView.View>
</ListView>
那么如何列出每个作业,并且只显示某些信息,如作业。标题或赋值.Due?
答案 0 :(得分:4)
像这样使用DisplayMemberBinding
<GridViewColumn
Header="Title"
DisplayMemberBinding="{Binding Path=Title}" />
<GridViewColumn
Header="Due"
DisplayMemberBinding="{Binding Path=Due}" />
假设您已绑定到具有Title和Due属性的Assignments列表。
如果您希望使用复杂的值类型(不是字符串),请使用CellTemplate,它允许您使用数据模板,以便格式化/转换为您的心灵内容
<GridViewColumn
Header="Due">
<GridViewColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding Due, StringFormat={}{0:MM/dd/yyyy}}" />
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>