2015-04-03 92 views
0

我有我的xaml三个组合框,我第一个加载页面加载,其余的将加载点击事件:现在我有DropDownOpened事件应加载组合并保持打开供用户选择,但它击中statment指定项目源,但随后走出的这wpf组合框dropdownned

<Window x:Class="test_combo.MainWindow" 
     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
     Title="MainWindow" Height="350" Width="525"> 
    <Grid> 
     <ComboBox Name="cbo1" Margin="40,37,328,250" SelectionChanged="OnComboBoxChanged" /> 
     <ComboBox Name="cbo2" Margin="40,145,328,142" DropDownOpened="cbo2_DropDownOpened" /> 
     <ComboBox Name="cbo3" Margin="40,91,328,196" /> 
    </Grid> 
</Window> 

C#代码:

public partial class MainWindow : Window 
{ 
    private List<string> comboList = new List<string>(); 
    string[] defaultParam = { City , State ,zip} 

public MainWindow() 
     { 
      InitializeComponent(); 

      foreach(string s in defaultParam) 
      { 
       LoadCombo(s); 
      } 

     } 


     public void LoadCombo(string name) 
     {   
      comboList.Add(name); 
      cbo1.ItemsSource = comboList;   
     } 


     private void OnComboBoxChanged(object sender,SelectionChangedEventArgs e) 
     { 
      string itemSel = (sender as ComboBox).SelectedItem.ToString(); 
      comboList.Remove(itemSel); 
      MessageBox.Show(itemSel); 

     } 

     void cbo2_DropDownOpened(object sender, EventArgs e) 
     { 
      cbo2.ItemsSource = comboList; 
     } 
    } 

回答

0

应该保持开放,但如果没有,那么你可以通过使用

cbo2.IsDropDownOpen = true