【问题标题】:select item listbox c#选择项目列表框c#
【发布时间】:2013-07-22 14:06:11
【问题描述】:

我正在尝试使用 C# 使用 switch 语句选择列表框中的项目,但没有任何反应:

这是我当前的代码:

XAML

<ListBox x:Name="test" (XAML OMITED) SelectionChanged="test_SelectionChanged">
 <ListBoxItem Content="name 1" />

c#

 private void test_SelectionChanged(object sender,  System.EventArgs e)
    {
        switch (test.SelectedItem.ToString())
        {
            case "name 1":
                MessageBox.Show("X");
                break;
            case "name 2":
                MessageBox.Show("X");
                break;
            default:

                break;
        }

谢谢

【问题讨论】:

  • 你认为哪一行是选择这段代码中的列表框项?

标签: c# xaml listbox windows-phone


【解决方案1】:

列表框是发送者对象,因此您可以像这样访问它。您只需要将发件人转换为列表框,然后您选择的项目是列表框项目,因此您可以转换它,然后您就可以访问内容值。此外,当我创建我的 selectionchanged 事件处理程序时,它接受 SelectionChangedEventArgs e 而不是 System.EventArgs e,在 System.Windows.Controls 命名空间中找到 SelectionChangedEventArgs,它应该已经通过 using 语句导入到您的类中。

var mySender = (ListBox)sender;
swtich(((ListBoxItem)mySender.SelectedItem).Content.ToString()){

  case "name 1":
            MessageBox.Show("X");
            break;
  case "name 2":
            MessageBox.Show("X");
            break;
  default:
            break;
}

【讨论】:

  • 谢谢,但我想在某些情况下调用方法或更新变量?
  • 我看到在我发布后不需要你可以做的就是打开我正在输出的消息框值,我会根据你的需要进行编辑。
【解决方案2】:
 private void ListBox_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            foreach (var selectedItem in e.AddedItems)
            {
                switch ((selectedItem as ListBoxItem).Content.ToString())
                {
                    case "name 1":
                        MessageBox.Show("X");
                        break;
                    case "name 2":
                        MessageBox.Show("y");
                        break;
                    default:

                        break;
                }
            }
        }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-01-23
    • 2021-11-23
    • 2010-10-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多