簡體   English   中英

C# WPF Combobox 選擇事件基於從文本文件填充的 Combobox 列表

[英]C# WPF Combobox selection event based on Combobox list populated from text file

我有一個從文本文件填充的 Combobox 下拉列表。 combobox 填充了多個服務器組。 這工作正常。

servergroups.txt
Group1
Group2
Group3
       public MainWindow()
        {
            InitializeComponent();
            ComboBox2.ItemsSource = File.ReadAllLines(@"c:\temp\servergroups.txt");
        }

我遇到的問題是,我還試圖根據在 combobox 中選擇的服務器組從服務器文本文件填充服務器列表框。

group1.txt
server1
server2
server3
        private void ComboBox2_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            if (((ComboBoxItem)ComboBox2.SelectedItem).Content.Equals("Group1"))
            {
                Listbox1.ItemsSource = null;
                Listbox1.Items.Clear();
                Listbox1.ItemsSource = File.ReadAllLines(@"c:\temp\Group1.txt");
                Listbox1.ScrollIntoView(Listbox1.Items[0]);
            }

當我 select combobox 下拉列表中的任何項目時,我收到以下異常

System.InvalidCastException:“無法將類型為‘System.String’的 object 轉換為類型‘System.Windows.Controls.ComboBoxItem’。”

謝謝你!

錯誤消息清楚地表明SelectedItem的類型為string

當您將字符串集合分配給SelectorItemsSource屬性時, SelectedItem也是一個字符串:

if ((string)ComboBox2.SelectedItem == "Group1")
{
    Listbox1.ItemsSource = File.ReadAllLines(@"c:\temp\Group1.txt");
}

一般來說, SelectedItem屬性持有的object是Items集合中當前選中的元素,所以當SelectedIndex >= 0時,下面的條件為真:

selector.SelectedItem == selector.Items[selector.SelectedIndex]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM