我新的WPF項目,如何addComboBox動態地在WPF
我動態添加項目到組合框像下面
objComboBox.Items.Add("<--Select-->");
現在我需要設置值&指數爲特定項目。在asp.net我正在做
DropDownList1.Items.FindByText("<--Select-->").Value ="-1"
我可能不會在wpf中找到合適的方法。我該怎麼做?
我新的WPF項目,如何addComboBox動態地在WPF
我動態添加項目到組合框像下面
objComboBox.Items.Add("<--Select-->");
現在我需要設置值&指數爲特定項目。在asp.net我正在做
DropDownList1.Items.FindByText("<--Select-->").Value ="-1"
我可能不會在wpf中找到合適的方法。我該怎麼做?
總是嘗試以避免直接訪問UI。使用binding
綁定數據到您的控件和add
,search
,remove
無論什麼... 僅在數據。要更改UI將自行處理WPF綁定。
一個例子:http://www.codeproject.com/KB/WPF/DataBindingWithComboBoxes.aspx
XAML:
<ComboBox ItemsSource="{Binding cbItems}" SelectedItem="{Binding SelectedcbItem}"/>
代碼隱藏:
public ObservableCollection<ComboBoxItem> cbItems { get; set; }
public ComboBoxItem SelectedcbItem { get; set; }
public MainWindow()
{
InitializeComponent();
DataContext = this;
cbItems = new ObservableCollection<ComboBoxItem>();
var cbItem = new ComboBoxItem { Content = "<--Select-->" };
SelectedcbItem = cbItem;
cbItems.Add(cbItem);
cbItems.Add(new ComboBoxItem { Content = "Option 1" });
cbItems.Add(new ComboBoxItem { Content = "Option 2"});
}
combo.SelectedIndex = combo.Items.IndexOf("<--Select-->");
但更好的方法是使用綁定,通過snurre
不,這是錯的!閱讀問題 – MyKuLLSKI
提到如果它列表中的第一個應該使用: objComboBox.SelectedIndex = 0; 或 DropDownList1.SelectedIndex = 0;
如果它不是第一個,然後使用: objComboBox.SelectedItem = 「< - 選擇 - >」; 或 DropDownList1.SelectedItem = 「< - 選擇 - >」;
最後,一個可行的解決方案!謝謝你:) – aqua
我很好奇。在將cbItem添加到cbItems之前,將其添加到SelectedcbItem。當綁定機制將SelectedcdItem更改爲尚未綁定集合的對象時,是否有任何問題或副作用? – Les