Windows phone 7 列表框删除项目功能?

Windows phone 7 列表框删除项目功能?,windows-phone-7,Windows Phone 7,删除列表框中的项目时如何查找项目id <DataTemplate x:Key="ToDoListBoxItemTemplate"> <Grid HorizontalAlignment="Stretch" Width="420"> <Grid.ColumnDefinitions> <ColumnDefinition Width="30"/>

删除列表框中的项目时如何查找项目id

<DataTemplate x:Key="ToDoListBoxItemTemplate">

            <Grid HorizontalAlignment="Stretch" Width="420">
                <Grid.ColumnDefinitions>
                    <ColumnDefinition  Width="30"/>
                    <ColumnDefinition Width="*" />
                   <ColumnDefinition Width="Auto" />
                    <ColumnDefinition Width="100" />
                </Grid.ColumnDefinitions>

                <!--<CheckBox 
                    IsChecked="{Binding IsComplete, Mode=TwoWay}" 
                    Grid.Column="0" VerticalAlignment="Top"/>-->

                <TextBlock 
                    Text="{Binding subcategname}" 
                    FontSize="25" 
                    Grid.Column="1" Grid.ColumnSpan="2" 
                    VerticalAlignment="Top" Margin="-36, 12, 0, 0"/>

                <Button                                
                    Grid.Column="3"
                    x:Name="deleteTaskButton"
                    BorderThickness="0"                                                                  
                    Margin="0, -18, 0, 0" Click="deleteTaskButton_Click">

                    <Image 
                    Source="Images/appbar.delete.rest.png"
                    Height="75"
                    Width="75"/>

                </Button>
            </Grid>
        </DataTemplate>




<ListBox x:Name="FinanceListBox" Margin="0,0,-12,0" ItemsSource="{Binding}"  ItemContainerStyle="{StaticResource ListBoxItemStyle1}" ItemTemplate="{StaticResource ToDoListBoxItemTemplate}"  SelectionChanged="FinanceList_SelectionChanged">
                </ListBox>

在SelectionChanged事件中,我编写了以下代码

private void FinanceList_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            System.Collections.IList list = e.AddedItems;
            if (e.AddedItems.Count == 1)
            {
                IEnumerable<Category> categs = list.Cast<Category>();
                Category em = categs.ElementAt<Category>(0);
                int id = em.id;
                int categoryid = em.categoryid;
                string subcategoryname = em.subcategname;

                NavigationService.Navigate(new Uri(String.Format("/SubCategories.xaml?id=" + id + "&categoryid=" + categoryid + "&subcategoryname=" + subcategoryname), UriKind.Relative));
            }
        }




 private void deleteTaskButton_Click(object sender, RoutedEventArgs e)
        {


        }
private void FinanceList\u SelectionChanged(对象发送者,selectionchangedventargs e)
{
System.Collections.IList list=e.AddedItems;
如果(e.AddedItems.Count==1)
{
IEnumerable categs=list.Cast();
em类=类别元素(0);
int id=em.id;
int categoryid=em.categoryid;
string subcategory name=em.subcategory name;
NavigationService.Navigate(新Uri(String.Format(“/SubCategories.xaml?id=“+id+”&categoryid=“+categoryid+””&subcategoryname=“+subcategoryname”),UriKind.Relative));
}
}
私有void deleteTaskButton_单击(对象发送方,路由目标)
{
}
但是如何在删除项目时找到特定的项目id。
如何找到删除项目的特定id?

方法之一是将按钮的Tag属性绑定到有意义的标识符,然后在删除方法中使用以下代码:


按钮b=发送器为按钮;
//现在从您的集合中删除id=b.Tag

方法之一是将按钮的标记属性绑定到有意义的标识符,然后在删除方法中使用以下代码:


按钮b=发送器为按钮;
//现在从您的集合中删除id=b.Tag

将标签应用于按钮

<Button                                
                    Grid.Column="3"
                    x:Name="deleteTaskButton"
                    BorderThickness="0"  Tag="{Binding id}"                                                                
                    Margin="0, -18, 0, 0" Click="deleteTaskButton_Click">
private void deleteTaskButton_Click(object sender, RoutedEventArgs e)
{
     Button deleteButton = (Button)sender; 
     var entity = deleteButton.DataContext as MyEntity;

     //Delete entity
}

将标签应用于按钮

<Button                                
                    Grid.Column="3"
                    x:Name="deleteTaskButton"
                    BorderThickness="0"  Tag="{Binding id}"                                                                
                    Margin="0, -18, 0, 0" Click="deleteTaskButton_Click">
private void deleteTaskButton_Click(object sender, RoutedEventArgs e)
{
     Button deleteButton = (Button)sender; 
     var entity = deleteButton.DataContext as MyEntity;

     //Delete entity
}

无需为按钮分配标记并使xaml难看,您可以从按钮获取DataContext

<Button                                
                    Grid.Column="3"
                    x:Name="deleteTaskButton"
                    BorderThickness="0"  Tag="{Binding id}"                                                                
                    Margin="0, -18, 0, 0" Click="deleteTaskButton_Click">
private void deleteTaskButton_Click(object sender, RoutedEventArgs e)
{
     Button deleteButton = (Button)sender; 
     var entity = deleteButton.DataContext as MyEntity;

     //Delete entity
}

无需为按钮分配标记并使xaml难看,您可以从按钮获取DataContext

<Button                                
                    Grid.Column="3"
                    x:Name="deleteTaskButton"
                    BorderThickness="0"  Tag="{Binding id}"                                                                
                    Margin="0, -18, 0, 0" Click="deleteTaskButton_Click">
private void deleteTaskButton_Click(object sender, RoutedEventArgs e)
{
     Button deleteButton = (Button)sender; 
     var entity = deleteButton.DataContext as MyEntity;

     //Delete entity
}