我想根据组合框下拉列表中的选择,用平面文件中的服务器列表填充列表框。这就是我所拥有的,但是它没有填充列表框。。谢谢!
private void ComboBox_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
if (ComboBox.SelectedItem.ToString() == "Choice1")
{
Listbox1.ItemsSource = null;
Listbox1.Items.Clear();
Listbox1.ItemsSource = File.ReadAllLines(@"C:\temp\serverlist1.txt");
}
return;
}
这是XAML,
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<ComboBox x:Name="ComboBox" Grid.Column="0" SelectionChanged="ComboBox_SelectionChanged">
<ComboBoxItem Content="Choice1"/>
<ComboBoxItem Content="Choice2"/>
</ComboBox>
<ListBox x:Name="Listbox1" Grid.Column="1" />
</Grid>
答案 0 :(得分:2)
您的代码中唯一的错误是您将ComboBox SelectedItem字符串与“ Choice”进行比较,这将永远不会相等。您需要首先将SelectedItem解析为ComboBoxItem,然后将ComboBoxItem的Content与所需的字符串进行比较。以下是演示,
private void ComboBox_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
if (((ComboBoxItem)comboBox1.SelectedItem).Content.Equals("Choice1"))
{
listBox1.ItemsSource = null;
listBox1.Items.Clear();
listBox1.ItemsSource = File.ReadAllLines(@"C:\application1\serverlist1.txt");
}
return;
}