0

Silverlight Toolkit ListBoxDragDropTargetを使用していますが、動的に追加されたリストで使用するとエラーが発生します。リストを含むユーザー コントロールをレイアウト グリッドに動的に追加しています。グリッド内のあるリストから別のリストに項目をドラッグすると、次の例外が発生します。

throw new Error("Silverlight 2 アプリケーションで未処理のエラーが発生しました。値が期待される範囲内にありません
。MS.Internal.XcpImports.MethodEx(IntPtr ptr, String name, CValue[] cvData) で\n
MS.Internal.XcpImports.MethodPack で(IntPtr objectPtr, String methodName, Object[] rawData) \n MS.Internal.XcpImports.Collection_Insert[T](PresentationFrameworkCollection 1.InsertImpl 1 collection, Int32 index, Object value)\n at System.Windows.PresentationFrameworkCollection(Int32 index, Object value) で\n System.Windows.Controls.ItemCollection.InsertImpl( Int32 index, Object value)\n at System.Windows.Controls.ItemCollection.InsertInternal(Int32 index, Object value)\n at System.Windows.PresentationFrameworkCollection`1.Insert(Int32 index, T value)\n at System.Windows .Controls.ItemsControlExtensions.InsertItem(ItemsControl その、Int32 インデックス、オブジェクト アイテム)\n
....

4

1 に答える 1

0

正確な答えを特定することはできませんが、Silverlight 2 アプリケーションでの未処理のエラー 値が期待される範囲内に収まらないは、存在しない項目への参照 (おそらくバインド) になります。

リストが動的である場合、ドラッグしているアイテムへの参照がビジュアル ツリーにない可能性がありますか? MVVM パターンを使用してこれを克服し、リストを VM の ObservableCollection プロパティにバインドすることができます。

より完全なコード再現を投稿できますか?

于 2009-12-14T12:28:07.640 に答える