トップページ > プログラム > 2014年05月21日 > bWXCPWXI

書き込み順位&時間帯一覧

24 位/171 ID中時間01234567891011121314151617181920212223Total
書き込み数0000000000000000000100102



使用した名前一覧書き込んだスレッド一覧
デフォルトの名無しさん
C#, C♯, C#相談室 Part83

書き込みレス一覧

C#, C♯, C#相談室 Part83
411 :デフォルトの名無しさん[sage]:2014/05/21(水) 19:25:24.07 ID:bWXCPWXI
WPFのDataGridで、どの列が画面内に表示されているかを知る方法をご存知の方いらっしゃいませんか。

広いDataGridの各セルに値を表示していて、一定間隔で表示を更新しているのだけど、
表示更新を行うのを画面内に表示されている範囲だけにしたくて、現在表示されている列を知りたいのです。
どの行が表示されるかは、DataGrid.LoadingRow/UnloadingRowイベントで簡単にわかるんだけど、
列に関してはこれに類似する便利なイベントなどが見つからなくて、悩んでいます。

ScrollChangedイベントが発生した時に各列の位置を計算して、
表示されている範囲内に収まっているかを確認するという方法を考えたんだけど、
「表示されている範囲」を取得する方法がわからず、実現できるかどうか・・・

詳しい方、知恵を貸していただけませんでしょうか。
C#, C♯, C#相談室 Part83
414 :デフォルトの名無しさん[sage]:2014/05/21(水) 22:08:50.68 ID:bWXCPWXI
>>412
VisualTreeHelperですか・・・
使ったことないので、調べてみます。

>>413
ありがとうございます。
表示更新以外にも内部的にやりたいことがあって、表示されている列をなんとかして取得したいと考えています。
やっぱりWPFのDataGridは使えないのですね・・・DataGridViewの便利さが身にしみます。
今回すでにDataGridが用意されている中での改造をやろうとしていて、WindowsFormsHostを使うことができないので、
WPFの範囲でなんとかできる方法をもう少し試行錯誤したいと思います。


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。