0

您好我正在使用下面给出的 xaml 文件和代码。我想获得两个类别,一个是当前类别,另一个是删除类别。如果我删除一个类别,它应该去添加当前类别。我对此一无所知。所以请任何人告诉我如何解决这个问题。

<StackPanel>
      <TextBlock Text="Current categories"
                           Style="{StaticResource PhoneTextLargeStyle}"/>

       <ListBox x:Name="AddingList" ItemsSource="{Binding name}" SelectionChanged="AddingList_SelectionChanged_1"/>

        <TextBlock Text="Removed categories"
                           Style="{StaticResource PhoneTextLargeStyle}" />

        <ListBox x:Name="RemoveList" ItemsSource="{Binding name}" SelectionChanged="RemoveList_SelectionChanged_1"/>

 </StackPanel>

我的 xaml.cs 代码

    private void Button_Click_1(object sender, RoutedEventArgs e)
    {

        NavigationService.Navigate(new Uri("/CategoriesPage.xaml?" + NotchsList11, UriKind.Relative));

    }

我正在使用编辑按钮,如何将列表框项目从编辑按钮传递到类别页面以及如何删除和添加列表框项目。

我的输出想要如下图,所以请帮我一些 在此处输入图像描述

4

1 回答 1

0

解决这个问题的方法很少。一种方法是让单个对象具有“isRemoved”布尔值,您只需打开和关闭即可。另一种方法是你可以有 2 个 observablecollections 一个保存添加的,一个保存删除的。例如:

班级:

public class MyData
{
    public bool isRemoved { get; set; }
    public string Name { get; set; }
}

采用:

ObservableCollection<MyData> AllData = new ObservableCollection<MyData>()
AllData.Add(new MyData(){ isRemoved = true, Name = "Data1"}
AllData.Add(new MyData(){ isRemoved = true, Name = "Data2"}
AllData.Add(new MyData(){ isRemoved = false, Name = "Data3"}

AddingList.ItemsSource = AllData.Where(srch => srch.isRemoved == false);
RemoveList.ItemsSource = AllData.Where(srch => srch.isRemoved == true);

在“删除”按钮中,单击您只需将 isRemoved 设置为 true,然后在“添加”中将 isRemoved 设置为 false。

或者您可以使用 2 个 ObservableCollections 从每个中添加和删除。

于 2013-04-11T16:55:52.000 回答