ListBoxDragDropTarget
(Silverlightツールキットの)内にラップされたListbox
を使用しています。 このListBox
は、ユーザーが手動で並べ替えることができます。ただし、最後の項目は常にListBox
の下部にある必要があり、まったく移動することはできません。この最後のアイテムの移動をキャンセルする方法を見つけましたが、別のアイテムをドラッグ&ドロップすると、の下のが移動します。しかし、これが唯一のドラッグ操作の前に私にインデックスを与えるリストボックスのドラッグ・リオーダ:ドロップされたアイテムのインデックス
object data = e.Data.GetData(e.Data.GetFormats()[0]);
ItemDragEventArgs dragEventArgs = data as ItemDragEventArgs;
SelectionCollection selectionCollection = dragEventArgs.Data as SelectionCollection;
if (selectionCollection != null)
{
MyClass cw = selectionCollection[0].Item as MyClass;
int idx = selectionCollection[0].Index.Value;
}
:
私は、リストボックスのDrop
イベントにこのコードを使用してドラッグしたアイテムのインデックスを見つけることができます。
私の質問は次のとおりです:新しい落としたアイテムのインデックスを知る方法はありますか?このようにして、インデックス=リストの最後の位置なら、私はそれをforelastの位置に移動できます。
ありがとうございます!
こんにちはシェーン。それはまさに私が頑張ったものです。別の解決策を見つける方が良いでしょうが、誰にも「より良い」答えがない場合は、このことを念頭に置いておきます。ありがとう;-) +1 – Shimrod
ブリリアント。答えをありがとう。それは私が必要なもののために働いた! – shane
喜んで私は助けることができました:-) – Shimrod