私はiPhoneアプリをwp7に移行しようとしています。 iosでは、UITableviewはうまく設計されており、非常に簡単にコーディングできます。 私はwp7についていくつかの本を持っていますが、リストボックスの行を移動したり削除したりすることについての詳細はありません。リストボックスの行を移動したり削除したりするサンプルがありますか
は、私はWindowsの携帯電話もうまく設計されていると思いたいのですが任意のコメント
私はiPhoneアプリをwp7に移行しようとしています。 iosでは、UITableviewはうまく設計されており、非常に簡単にコーディングできます。 私はwp7についていくつかの本を持っていますが、リストボックスの行を移動したり削除したりすることについての詳細はありません。リストボックスの行を移動したり削除したりするサンプルがありますか
は、私はWindowsの携帯電話もうまく設計されていると思いたいのですが任意のコメント
ようこそ。 :)
コードビハインド内のListBox
からアイテムを単に削除するには、削除するListItem
への参照を取得する必要があります。例えば、現在選択されている項目を削除するには:
var myListItem = myListBox.SelectedItem;
は次にあなたがそれを削除することができます
myListBox.Items.Remove(myListItem);
、我々は方法についての詳細を知っている必要があると思い項目の移動に関するあなたの質問に対処するためにあなたはListBox
を入力しています。データバインディングを使用していますか、myListBox.Items.Add(myListItem)
のアイテムを追加していますか?
2つのリスト間でアイテムを移動する必要がある場合は、リストごとに公開List<MyItem>
プロパティを作成し、各リストを独自のListBox
にバインドします。それから私はこのようなもの(ここではメモリから作業)を行う場合があります
var itemToMove = myList1.Remove(myListBox1.SelectedItem);
myList2.Add(itemToMove);
myListBox1.DataBind();
myListBox2.DataBind();
がINotifiyPropertyChanged
を使用して、これを行うためのより良い方法はありが、私はあなたが快適に過ごすためにしばらくの間、基本的で遊んでする必要がある疑いがありますC#で。
ボーナスのヒント:Windows PhoneはSilverlightとよく似ており、通常Silverlightの例を検索すると詳細情報が表示されます。
WP7では、通常、私たちのソースが変更されたときに、その変更が自動的にデータバインディング(UIへの一方向バインディングとして知られています)のためにUIに伝播するときにリストボックスのItemSourceを設定します。
これまでitemsourceで(追加、更新、削除)したことはUIに反映されます。
データバインディングを使用していない場合は、そして、これはリストボックス項目の移動に答える方法を解決するものではありません。これはもっと複雑です。 –
十分に公正ですが、オリジナルの質問はデータバインディングについて言及していませんでした。 –
私はlistboxが携帯電話の電話の小さな画面サイズに適しているとは思わない。これは、MicrosoftがAppleに遅れをとっている理由の1つです。 iosUITableViewでは、各行自体に対して編集を行うことができます。 wp7リストボックス外のボタンを使用してリストボックスの項目を編集するのではなく – arachide