0

こんにちは、xaml ファイルと以下のコードを使用しています。2 つのカテゴリを取得したいのですが、1 つは現在のカテゴリで、もう 1 つは削除されたカテゴリです。一方のカテゴリを削除すると、現在のカテゴリを追加する必要があります。これについては何もわかりません。解決方法を教えてください。この問題。

<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

これについてのいくつかの方法。1 つの方法は、オンとオフを切り替えるだけの「isRemoved」ブール値を持つ単一のオブジェクトを持つことです。もう 1 つの方法は、追加されたものを保持し、削除されたものを保持する 2 つの観察可能なコレクションを持つことができます。たとえば、次のようになります。

クラス:

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 に答える