1

ビューモデルの監視可能なコレクションにバインドされた項目ソースを持つビューにデータグリッドがあります。これはうまくいきます。ビュー xaml でデータグリッドの列とバインディングを定義しました。すべての列には、それらが表すデータベース列名と一致する一意の名前があります。

データグリッドのすべてのフィルターを含むユーザー コントロールを作成しました。ユーザー コントロールには、ビュー モデルがバインドするコマンドがあり、ビュー モデルに ria サービスを呼び出して、datagrids アイテム ソースにバインドされた監視可能なコレクションを設定するために必要なすべてのパラメーターを提供します。これはうまくいきます。

データグリッドへの参照を持ち、フィルター ユーザー コントロールのイベントの 1 つをサブスクライブするサービスがあります。イベントが発生すると、サービスは列ヘッダーを変更し、列表示インデックスを使用して列を並べ替えます。次に、関連性がなくなった列を折りたたみます。

表示インデックスの変更を除いて、これはすべて機能します。表示インデックス値の 1 つを変更するたびに、範囲外の例外が発生します。メソッドを終了する前にインデックスを調べましたが、それらは有効です。データバインディングが発生するまで待ってみましたが、違いはありませんでした。どんな洞察も大歓迎です。スタックトレースは次のとおりです。

MS.Internal.XcpImports.MethodEx (IntPtr ptr、文字列名、CValue[] cvData) で MS.Internal.XcpImports.MethodEx (DependencyObject obj、文字列名) で System.Windows.UIElement.UpdateLayout()

4

0 に答える 0