2012-01-20 9 views
0

私のサンプルプロジェクトでは、サーバーからの値を入力するデータグリッドがあります。データグリッドの行は、マウスを使用して最初に選択できます。しかし、私のコードでは、この行の選択は、「アクティブ化」ボタンがクリックされた後にのみ行われます。私はこれをどのようにするべきですか?マウスまたはキーボードを使用してデータグリッド行の自動選択を無効にする

私はDataGridのIsEnabledプロパティを試してみましたが、それは全体のデータグリッドは、(テキストとヘッダがグレーアウトされている) 非アクティブになります。

私を助けてください。私はそれが動作する必要がありますね

答えて

1

datagrid.SelectionChanged += (obj, args) => 
    Dispatcher.BeginInvoke(DispatcherPriority.Render, new Action(() => 
    datagrid.UnselectAll())); 

代替は、DataGridのスタイルを変更しています。とにかく、あなたはあなたの「活性化された」値も考慮する必要があります。

+0

ありがとう@Darjan、それは働いた。 Now on "アクティブ化ボタン"(そのトグルボタン)をクリックすると元の状態を保持するはずです(つまり、データグリッドの行を選択できます)。 ** IsHitTestVisible **をfalseに設定してみました。しかし... ...( – Kris

+0

SelectedItemプロパティのみが利用可能です。複数の選択項目を設定するProperty SelectedItemsは利用できません。DataGridから派生したカスタムコントロールで手作業で実装し、以前に選択した項目を保持するロジックを使用する必要があります。どこかに。 – doblak

関連する問題