2009-02-23 25 views
6

我在WPF應用程序列表框爲:顯示自定義對象數據,列表框WPF

<ListBox HorizontalAlignment="Left" Margin="16,37,0,16" Name="lbEmpList" Width="194" SelectionChanged="lbEmpList_SelectionChanged" FontSize="12" SelectionMode="Single"> 

</ListBox> 

我有三個按鈕:添加,刪除和更新,將添加,刪除和更新項目列表框中。我將項目添加到ListBox我的自定義類對象名稱objEmployee。 此自定義類包含幾個屬性:Id,Name,Address。
但是,當我的對象添加到列表框,然後它會顯示的項目,如

<Namespace Name>.<Custom Object name> 

我如何可以綁定任何對象屬性的這個列表框在設計或運行時間acheive我的功能?

回答

24

兩個選擇:

首先,最簡單的選擇是ListBox的DisplayMemberPath屬性設置爲自定義對象的屬性。如果您想對在隨即出現的每個項目(包括自定義佈局等)的數據更多的控制

<ListBox DisplayMemberPath="LastName" ... /> 

那麼你要定義一個DataTemplate爲:所以,如果你的員工類有一個名字屬性,你可以這樣做列表框中的每個項目。要做到這一點,最簡單的方式是通過簡單的設定ListBox的ItemTemplate屬性:

<ListBox ...> 
    <ListBox.ItemTemplate> 
     <DataTemplate> 
      <StackPanel> 
       <TextBlock Text="{Binding FirstName}" /> 
       <TextBlock Text="{Binding LastName}" /> 
      </StackPanel> 
     </DataTemplate> 
    </ListBox.ItemTemplate> 
</ListBox> 

必須通過我提供,並檢查了一些MSDN上的示例代碼的鏈接讀取。