WPF / C# - '绑定列表<string>到组合框</string>

时间:2012-04-24 13:56:11

标签: c# wpf list xaml combobox

我希望我的组合框项目名称和值可以从我的列表中获取当然我不希望我的视图模型保存组合框项目列表。

我有一个清单a,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

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

但它给了我一个空的ComboBox ......

enter image description here

2 个答案:

答案 0 :(得分:5)

删除SelectedValuePathDisplayMemberPath属性。他们错了。

答案 1 :(得分: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());