Appointment
のコレクションにバインドされたDataGrid
があります。グリッドは、各セルが予定にバインドされている間、列を日として、行を時間として、与えられた週の予定を表示します。WPF DataGridセルの位置を取得するにはどうすればよいですか?
ユーザーがセルを1回クリックすると、そのセルの予定の概要が表示された小さなウィンドウが表示されます。理由が複雑なため、セルをテンプレートに表示して要約を表示することはできません。さらに重要なのは、要約をドロップして、選択したセルの下にセルを重ねることです。
私のコマンドでは、魔法を使ってクリックすると、選択したセル自体にDataGridCellInfo
が表示されますが、そのオブジェクトには測位のヒントはなく、一部のディメンションしかありません。ダブルクリックのための結合の入力は次のようになります。
<DataGrid.InputBindings>
<!--TODO Remove name 'TheGrid' and find parent DataGrid-->
<MouseBinding MouseAction="LeftDoubleClick" Command="{Binding ApptClickCommand}" CommandParameter="{Binding ElementName=TheGrid, Path=SelectedCells}" />
</DataGrid.InputBindings>
とコマンドコードが一つだけDataGridCellInfo
を含む型SelectedCellsCollection
、のパラメータを受け取ります。私はコマンドで作業する他の情報はありません。それは、私はビューモデル内のビューに非常に親しみを感じていますので、船外に出て、コードビハインドイベントを直接使用することは避けてください。
「場所」はどのようなあなたが探していますか? – mm8
@ mm8画面の座標ですので、私が言ったように、 "要約をドロップダウンして、選択したセルの下にセルを重ねる"ようにします。 – ProfK
あなたは私の答えを見ましたか? – mm8