2012-04-24 69 views
2

我希望我的組合框項目名稱和值從我的列表中獲取當然我不希望我的視圖模型保存組合框項目列表。WPF/C# - 綁定列表<string>到組合框

我有一個列表,B,C,d

public List<String> ComboList { get; set; } 

...

ComboList = new List<String>(); 
ComboList.Add("A"); 
ComboList.Add("B"); 
ComboList.Add("C"); 
ComboList.Add("D"); 

和我的組合框

<ComboBox Margin="29,40,0,526" Width="212" Height="35" Grid.Row="1" ItemsSource="{Binding Path=ComboList, Mode=OneTime}" SelectedValuePath="Key" DisplayMemberPath="Value"></ComboBox>

,但它給了我一個空組合框...

enter image description here

+1

你從哪裏得到關鍵/價值。這是一個詞典,而不是一個列表? – scottheckel 2012-04-24 13:57:47

+0

哦,該死的,這就是問題 – David 2012-04-24 14:00:24

+0

呵呵,是的,它總是最明顯的事情導致最頭疼的事情。 – scottheckel 2012-04-24 14:01:22

回答

4

卸下SelectedValuePathDisplayMemberPath屬性。他們錯了。

1

你忘記做這件事只是InitializeComponents到代碼隱藏前:

public void MainWindow(){ 
    this.Datacontext = this; 
    InitializeComponent() 
} 

而且你不能在列表直接綁定,你最好得給一個ObservableCollection。 這是一個例子:

public ObservableCollection<NetworkCard> NetworksCards { get { return m_aCards; } } 

private ObservableCollection<NetworkCard> m_aCards = null; 
m_aCards = new ObservableCollection<NetworkCard>(oHelper.ListNetworkCards());