2013-02-04 23 views
0

我有一個ListBox已綁定到我的自定義Tenancy對象的ObservableCollection,它具有包含startDate和endDate的屬性。讓每個對象的兩個成員綁定到單個列表框

不過,我想有ListBox顯示錶單的每個ListBoxItem

01/01/2001 - 22/12/2012 

所以,這兩個綁定屬性和一個在中間串。

如何以這種方式格式化ItemSource的輸出?我明白DisplayMemberPath指向我想要的屬性,但我需要兩個DisplayMemberPaths,對不對?

感謝您的任何幫助。

回答

2

您可以自定義的ItemTemplate來做到這一點看:

<ListBox ItemsSource="{Binding MyItems}"> 
    <ListBox.ItemTemplate> 
     <DataTemplate> 
      <TextBlock> 
       <Run Text="{Binding StartDate}"/><Run Text=" - " /><Run Text="{Binding EndDate}" /> 
      </TextBlock> 
     </DataTemplate> 
    </ListBox.ItemTemplate> 
</ListBox> 
0

DisplayMemberPath是稱ItemTemplate應該只是一個TextBlock與它的文本綁定到的DisplayMemberPath項目只是一個快捷方式。

如果你想讓你的ItemTemplate比這更詳細,你可以覆蓋ItemTemplate屬性。

例如,

<ListBox.ItemTemplate> 
    <DataTemplate> 
     <TextBox> 
      <TextBlock.Text> 
       <MultiBinding StringFormat="{0:M/d/yy} - {1:M/d/yy}"> 
        <Binding Path="StartDate " /> 
        <Binding Path="EndDate" /> 
       </MultiBinding> 
      </TextBlock.Text> 
     </TextBox> 
    </DataTemplate> 
</ListBox.ItemTemplate> 
+0

我不知道這個快捷方式怎麼回事「幕後」,但它是有道理的,感謝的話。 – ricky116

相關問題