0

您好,我使用xaml文件和下面给出的代码。我想得到两个类别,一个是当前类别,另一个是已删除的类别。如果我删除了一个类别,它应该添加当前类别。我对此没有任何意见。所以请任何人都可以告诉我如何解决这个问题。如何添加或删除Windows Phone中的数组项目?

<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)); 

    } 

我使用的编辑按钮,我如何可以通过列表框项目从编辑按钮类别页面,以及如何删除和添加列表框项目。

我放出来想给下面的图片,请帮我要对此有一个人 enter image description here

回答

0

几种方法。 一种方法是让一个单独的对象具有“isRemoved”布尔值,只需打开和关闭。另一种方法是你可以有两个可观察的集合,一个持有添加,一个持有已删除。因此,例如:

类:

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添加和删除每个。

+0

嗨感谢重播 – user123 2013-04-12 04:47:26

+0

嗨@Wigen我已经使用了两个观察集合,但我怎么能从主页获得列表框值 – user123 2013-04-12 05:36:14

+0

我不知道我是否理解这个问题?你是否问你如何获得列表框项目,当你点击添加或删除?如果是这样,您可以检查所选按钮的datacontext。 – Wigen 2013-04-12 17:14:13

相关问题