1

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

所以我设置了标签...

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

现在选择该项目并希望读取该标签,我怎么能这样做?

4

2 回答 2

2

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

if(lb.SelectedItem != -1)

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

    }
于 2012-06-12T03:27:23.840 回答
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()”是窗口或用户控件的构造函数

您还可以在 xaml 中而不是在构造函数中添加事件处理程序

<ListBox Height="100" Name="listBox" Width="120"
                 SelectionChanged="listBox_SelectionChanged"/>
于 2012-06-12T03:25:54.053 回答