2012-03-11 22 views
1

例如,我有一個簡單的數據庫(int id,字符串文本)和列表框。每個列表框元素中的 我有一個文本塊,圖像和按鈕。列表框中當前項目的名稱

當我添加項目我希望每個項目listobox被稱爲id。 當我點擊按鈕時,ID以另一種形式傳遞,我可以在其中編輯數據庫帖子。

page.xaml

   <ListBox.ItemTemplate> 
        <DataTemplate> 
         <StackPanel Orientation="Horizontal" > 
          <Image Source="{Binding IconSource}"/> 
          <StackPanel> 
           <TextBlock Text="{Binding Text}"/> 
           <Button Click="Edit_Click1"></Button> 
          </StackPanel> 
         </StackPanel> 
        </DataTemplate> 
       </ListBox.ItemTemplate> 

page.xaml.cs

private void Edit_Click1(object sender, RoutedEventArgs e) 
    { 
     int id = 0; // i want to know id of current element of listbox 
     NavigationService.Navigate(new Uri("/EditTask.xaml?currentID="+id, UriKind.Relative)); 

    } 

我怎麼能說出列表框的當前項目,然後知道該元素的名稱?對於可怕的英語感到抱歉。

回答

1

您可以訪問listbox.SelectedItem獲得所選擇的項目:

private void Edit_Click1(object sender, RoutedEventArgs e) 
{ 
    int id = (listbox.SelectedItem as MyClass).Id; 
    NavigationService.Navigate(new Uri("/EditTask.xaml?currentID="+id, UriKind.Relative)); 

} 
1
private void Button_Click(object sender, RoutedEventArgs e) 
    { 
     var button = ((System.Windows.Controls.Button)sender); 
     var clickedItem = (DataItem)button.DataContext; 
     MessageBox.Show(clickedItem.Name); 
    } 

在這裏,我asuming DataItem的是代表每個項目類的名稱。

相關問題