2010-01-26 47 views
2

我有一個帶多個GridViewColumns(標題,開始,到期)的ListView。那麼如何將一個對象與字符串Title,datetime Start和datetime Due綁定。在程序代碼中,我已經提到過:如何使用DisplayMemberPath顯示特定列中的項目

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> 

所以,我怎麼可以列出每項任務並只顯示像assignment.Title或assignment.Due某些信息?

回答

4

使用DisplayMemberBinding像這樣

  <GridViewColumn 
      Header="Title" 
      DisplayMemberBinding="{Binding Path=Title}" /> 

      <GridViewColumn 
      Header="Due" 
      DisplayMemberBinding="{Binding Path=Due}" /> 

假設你已經綁定到有一個標題和由於財產分配的列表。

如果你想有複雜的值類型(而不是字符串)使用CellTemplate

,它可以讓你使用數據模板,這樣你就可以格式化/轉換成你的心內容

 <GridViewColumn 
      Header="Due"> 
      <GridViewColumn.CellTemplate> 
       <DataTemplate> 
        <TextBlock Text="{Binding Due, StringFormat={}{0:MM/dd/yyyy}}" /> 
       </DataTemplate> 
      </GridViewColumn.CellTemplate> 
     </GridViewColumn> 
+0

我也能格式化?就像我有一個int類型,它代表一個枚舉。我試圖顯示枚舉Kind的值,並將其作爲int傳入。我需要一個轉換器或什麼? – 2010-01-28 01:01:34

+0

是的,你可以使用單元格模板格式化它 – 2010-01-28 03:13:23

相關問題