2011-01-10 89 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)删除的项目?