检索选定的ListBoxItem标记

时间:2012-06-12 02:59:54

标签: c# wpf

如何从列表框项中检索标记?我已经通过从文件中提取值并使用已解析的数据生成文本框来构建列表,然后我使文本框成为边框的智慧。然后我将边框添加到listboxitem。所以我想添加一个带有字符串值的标记,然后使用所选项检索该不可见值。

所以我设置标签......

//created a border above
ListBoxItem item = new ListBoxItem();
item.Tag = path;
item.Content = myBorder;
listBox.Items.Add(item);

现在当选择该项目并且我想阅读该标签时我该怎么做?

2 个答案:

答案 0 :(得分:2)

既然你提到你正在使用文本框,你可以尝试这样的事情

if(lb.SelectedItem != -1)

    {
        string selectedTagx = ((TextBox)lb.SelectedItem).Tag.ToString();
        //if just a listbox item
         string selectedTagx = ((ListBoxItem)lb.SelectedItem).Tag.ToString();

    }

答案 1 :(得分:0)

您可以将以下内容添加到您的窗口或包含列表框的用户控件

    public MainWindow()
    {
        InitializeComponent();

        //created a border above
        ListBoxItem item = new ListBoxItem();
        item.Tag = path;
        item.Content = myBorder;
        listBox.Items.Add(item);

        listBox.SelectionChanged += new SelectionChangedEventHandler(listBox_SelectionChanged);
    }

    void listBox_SelectionChanged(object sender, SelectionChangedEventArgs e)
    {
        string path = (listBox.SelectedItem as ListBoxItem).Tag as string;
    }

其中“MainWindow()”是窗口或usercontrol的构造函数

您还可以在xaml中而不是在构造函数

中添加事件处理程序
<ListBox Height="100" Name="listBox" Width="120"
                 SelectionChanged="listBox_SelectionChanged"/>