2009-03-12 14 views
0

ObservableCollectionがリストボックスのItemsSourceに割り当てられています。 ListBoxは、各listboxitemのプロパティにバインドされた項目を持つusercontrolを持つDataTemplateを使用しています。子から親コレクションを取得するにはどうすればよいですか?

私は項目をリストの上または下に移動するusercontrolに上と下のボタンがあります。リストは私が変更しているプロパティによってソートされます。上または下をクリックすると、DisplayOrderプロパティが変更され、InotifyPropertyを使用してObservableCollectionに再ソートする必要があることが伝えられます。

usercontrolが項目数を取得する最良の方法は、項目がリストの一番下に来たときに下ボタンを無効にすることができるようにすることです。 (上は簡単、0と比較)

答えて

0

これを処理する方法は2つあります。

最初は、コレクションのハンドルを各アイテムに渡して(コレクションに追加するとき)、最初のアイテムか最後のアイテムかを計算できます。

CanGoUpCanGoDownなどの書き込み可能なプロパティを公開することと、親コントロールがこれらのプロパティを正しく設定する責任を負うことです。私は子供の項目から、あなたの親リストの動作を切り離すので、このソリューションを好む。上/下ボタンはあなたの子アイテムに置かれていますが、それは本当に親リストの機能です。

0

listBox1.Items.Count? this.Parent.Controls.Count?

関連する問題