VB.net

2012-03-09 15 views
0

netの別のページ(Windows Phone 7)のリストボックスに要素を追加して、Windows Phoneアプリケーションを作成します。私はlistBox1というpage1のlistBoxを持っていて、2ページ目にはbtnAddというボタンがあります。 btnAddがpage2で押されるたびに、page1からlistbox1に項目を追加できるようにしたい。私はVB6でこれを行う方法を知っていたが、それはvb.Net上で異なっているようだ。誰かが助けてくれますか?ありがとうVB.net

答えて

1

リストボックス1を両方のページから利用可能なデータソース(おそらくは別のクラス)にバインドしてから、そのデータソースをbtnAddクリックイベントから更新することはどうですか?

例:Page1ので

追加:OnNavigatedToオーバーライドで

public static List<string> listItems = new List<string>(); 

を追加:ページ2 btnAdd_Clickハンドラで

listBox1.ItemsSource = null; 
listBox1.ItemsSource = listItems; 

を追加します。

Page1.listItems.Add(textBox1.Text); 

申し訳ありませんがC#ですが、VBの同等物を得ることは困難ではありません。

ViewModelアプローチを使用してINotifyPropertyChangedを実装すると、より洗練されたものになり、OnNavigatedToのItemSourceをリセットする必要がなくなります。

+0

btnAddはpage2のテキストボックスにあるテキストを追加しますので、これは可能ではないと思います – Matt9Atkins

+0

私はあなたをフォローしていません。一度に表示できるページは1つだけです。 Page2をクリックしてボタンをクリックすると、btnAdd_Clickハンドラで、作成したデータソースにテキストを追加します(別のクラスで両方のページで利用できるようになります)。 ListBoxはそのデータソースにバインドされているので、Page1に戻ると追加データが反映されます。 – Nomad101

+0

答えに簡略化された例を追加しました。 – Nomad101