2010-07-12 66 views
1

我想動態創建列表框[codebehind c#]。它的數據源是類對象。如何動態創建列表框wpf

class sample 
{ 
    string filepath; 
    string id; 
    string trackName; 
} 

需求:

  1. 顯示TRACKNAME如在列表框[動態]列表框項目。

代碼:

sample samp=GetBL.GetValue(); 
ListBox lbTrack = new ListBox(); 
StackPanel sp = new StackPanel(); 
lbTrack.ItemSource = samp; 

格塔。

回答

2

創建一個類,將ObservableCollection<sample>公開爲名爲Samples的屬性。創建這個類的一個實例,填充它的集合,然後將這個類添加到窗口的資源字典中,使用一個鍵,例如Data。覆蓋sample類中的ToString()以使其返回您想要顯示在ListBox中的內容。

那麼做到這一點:

<ListBox ItemsSource="{StaticResource Data, Path=Samples}"/> 

沒有覆蓋ToString(),你可以指定顯示綁定:

<ListBox ItemSource="{StaticResource Data, Path=Samples}" 
     DisplayMemberBinding="{Binding Path=trackName"/> 

注意trackName必須是一個屬性,而不是場。

你會注意到我不是以編程方式創建WPF控件,而是使用數據綁定來爲我做。這是WPF應用程序開發的基本概念。