本文章僅為個人學習,如有錯誤之處請指正。
搭建WPF界面的時候,想用combobox構建一個下拉菜單,搜索的時候看到大多數都是大段代碼,邏輯順序不是很詳細,摸索了大概,記錄一下方便來者。
拖入combobox控件,控件的屬性可以在xmal代碼中更改,這里只是用了默認的代碼,combobox的綁定在.cs代碼中進行。
<Label Content="Label" Height="28" HorizontalAlignment="Left" Margin="12,239,0,0" Name="label8" VerticalAlignment="Top" /> <ComboBox Height="23" HorizontalAlignment="Left" Margin="130,239,0,0" Name="My_combobox" VerticalAlignment="Top" Width="120" ItemsSource="{Binding}" SelectionChanged="comboBox1_SelectionChanged" DataContext="{Binding}"></ComboBox> <TextBox Height="23" HorizontalAlignment="Left" Margin="130,301,0,0" Name="textBox8" VerticalAlignment="Top" Width="120" TextChanged="textBox8_TextChanged" />
combobox幾個相關的屬性:
ItemSource一般綁定list
先定義類
public class drop_down_list { public string Name { get; set; } public int ID { get; set; } public int IDS { get; set; } }
然后構建list
List<drop_down_list> Drop_down_f_g = new List<drop_down_list>(); Drop_down_f_g.Add(new drop_down_list { Name = "up_up", ID = 0, IDS = 1 }); Drop_down_f_g.Add(new drop_down_list { Name = "one_up", ID = 1, IDS = 2 }); Drop_down_f_g.Add(new drop_down_list { Name = "five_up", ID = 2, IDS = 3 }); Drop_down_f_g.Add(new drop_down_list { Name = "ten_up", ID = 3, IDS = 4 }); Drop_down_f_g.Add(new drop_down_list { Name = "fifteen_up", ID = 4, IDS = 5 }); Drop_down_f_g.Add(new drop_down_list { Name = "fifteen_down", ID = 5, IDS = 6 }); Drop_down_f_g.Add(new drop_down_list { Name = "twentyfive_up", ID = 6, IDS = 7 }); Drop_down_f_g.Add(new drop_down_list { Name = "thirty_down", ID = 7, IDS = 8 }); Drop_down_f_g.Add(new drop_down_list { Name = "fourty_down", ID = 8, IDS = 9 });
綁定combobox的數據源
My_combobox.ItemsSource = Drop_down_f_g; My_combobox.DisplayMemberPath = "Name"; My_combobox.SelectedValuePath = "IDS"; My_combobox.SelectedIndex = 0;
list的初始化和combobox我都是在mainwindow中進行的
通過comboBox的changed函數實現數據獲取
private void comboBox1_SelectionChanged(object sender, SelectionChangedEventArgs e) { string test; object a; a = My_combobox.SelectedValue; test = a.ToString(); textBox8.Text = test; }
獲取到name對應的ID.
交流分享,共同進步!