2012-06-12 65 views
1

如何從列表框項目檢索標籤?我已經建立了一個列表,通過從文件中提取數值並使用解析的數據生成文本框,然後將文本框設置爲邊界的智能。然後我將邊框添加到listboxitem。所以我想添加一個帶有字符串值的標籤,然後使用選定的項目來檢索不可見的值。檢索選定的ListBoxItem標籤

所以我設置的標籤...

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

現在,當選擇該項目,我想讀到標籤我怎麼能這樣做呢?

回答

2

既然你提到你正在使用的文本框,你可以嘗試這樣的事情

if(lb.SelectedItem != -1) 

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

    } 
+0

這很完美! TextBox也可以工作,但ListBoxItem部分正是我所需要的。對! – wondernate

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; 
    } 

其中,「主窗口()」是你的窗口的構造函數或用戶控件

您還可以添加事件處理程序在XAML,而不是在構造

<ListBox Height="100" Name="listBox" Width="120" 
       SelectionChanged="listBox_SelectionChanged"/>