2014-01-22 50 views
-1

我有一個包含文件名的字符串數組。大量的文件名取決於最終用戶選擇的內容。我想知道如何將字符串數組填充到組合框。感謝您的幫助提前,動態組合框,並選擇組合框中的特定項目來執行某些東西

+0

看看這篇文章[添加字符串數組到組合框](http://stackoverflow.com/questions/9123822/adding-string-array-to-combo-box) –

+1

請閱讀[我如何問一個好問題?]( http://stackoverflow.com/help/how-to-ask)頁面。 – Sheridan

+0

我應該認真尋找與我的問題有關的現存問題。對不起。 – user3170073

回答

0

您的要求很簡單。創建一個名爲ObservableCollection<string>Items與您的文件名填充:

public ObservableCollection<string> Items 
{ 
    get { return items; } 
    set { items = value; NotifyPropertyChanged("Items"); } } 
} 

確保您正確執行INotifyPropertyChanged Interface在具有屬性的類。接下來,只要把數據這個屬性來ComboBox.ItemsSource屬性綁定在XAML:

<ComboBox ItemsSource="{Binding Items}" /> 

最後,確保你已經用XAML控制的DataContext設置爲該類的實例與物業:

或者:

DataContext = this; // if properties are defined in code behind 

或者:

DataContext = new ClassWithProperty(); 
+0

它工作的很棒!謝謝! – user3170073

0

這裏一個簡單的方法來實現這一目標

public partial class MainWindow : Window 
    { 
     public MainWindow() 
     { 
      InitializeComponent(); 


      string[] files = new string[]{}; 
      ObservableCollection<string> observableCollection = new ObservableCollection<string>(files); 
      comboBox1.ItemsSource = observableCollection; 

     } 




    } 
+0

感謝您的回答,它也有效。再一次,謝謝, – user3170073

0

如果你有你的文件名的全陣列,你可能想嘗試這樣的事:

for(int i = 0; i < myStringArray.Length; i++) 
{ 
    ComboBox1.Items.Add(myStringArray[i]); 
} 

這應該將所有文件名添加到組合框ComboBox1

相關問題