2011-01-10 93 views
2

嘿, 我試着用幾天的時間從數據綁定列表框中刪除項目,同時使用contectmenu工具包。 刪除方法要求我插入項目的名稱,但我無法找到它。從列表框中刪除一個項目@windows phone 7

這裏是添加項目

{ 
       listObjetDevis.Add(new itemListBoxSave { 
       devis = tbCreerDevis.Text }); 

       IsolatedStorageHelper.SaveObject("devis", listObjetDevis); 
      } 

THX的幫助

+0

你想刪除哪項? – 2011-01-10 09:16:40

+0

好吧,我有一個文本框是與列表框的數據綁定。當用戶從列表框中保存一個項目時,它顯示一個上下文菜單,在那裏我有另一個按鈕「刪除」,我想從列表框中刪除選定的項目並使用上下文菜單。 ty – user569574 2011-01-10 09:21:25

回答

6

功能這裏是如何做到這一點,你應該能夠定製自己的項目/需要一個簡單的例子。

  1. 創建一個新的DataBound應用程序。

  2. 添加對工具包的引用。

  3. 添加以下的MainPage的XAML聲明:

    的xmlns:工具箱= 「CLR-名稱空間:Microsoft.Phone.Controls;裝配= Microsoft.Phone.Controls.Toolkit」

  4. 變化該ListBox.ItemTemplate以下幾點:

    <DataTemplate> 
        <StackPanel Margin="0,0,0,17" Width="432"> 
         <toolkit:ContextMenuService.ContextMenu> 
          <toolkit:ContextMenu> 
           <toolkit:MenuItem Header="delete" Click="ContextMenuDelete_Click"/> 
          </toolkit:ContextMenu> 
         </toolkit:ContextMenuService.ContextMenu> 
         <TextBlock Text="{Binding LineOne}" TextWrapping="Wrap" Style="{StaticResource PhoneTextExtraLargeStyle}"/> 
         <TextBlock Text="{Binding LineTwo}" TextWrapping="Wrap" Margin="12,-6,12,0" Style="{StaticResource PhoneTextSubtleStyle}"/> 
        </StackPanel> 
    </DataTemplate> 
    
  5. 添加以下事件處理程序後面的代碼:

 
private void ContextMenuDeleteClick(object sender, RoutedEventArgs e) 
{ 
    App.ViewModel.Items.Remove((sender as MenuItem).DataContext as ItemViewModel); 
} 
+0

我已經試過但錯誤無法找到類型或名稱空間名稱'ItemViewModel'(您是否缺少using指令或程序集引用?) – user569574 2011-01-10 12:51:29

0

只是不言自明的:如果你使用listObjetDevis.Add增加一個項目,你會不會想用listObjetDevis.RemoveAt(list.SelectedIndex)listObjetDevis.Remove(list.SelectedItem)刪除的項目?