« [P21] WPF: Canvas の非排他性特性と同一表示空間での重複記載 | トップページ | [P20] WPF下における印刷プレビュー画面作成の容易化 »

[P22] WPF: Grid の ShowGridLines の非実用性を補う方法

Grid.ShowGridLines プロパティを true にしても、表の行列を仕切る線は、
単にコーディング上のレイアウトを補助する程度にしか役立ちません。
実用的な意味での GridLine の表示は、Grid クラスの仕組みからはでてきません。
しかし、・・・[P21] WPF: Canvas の非排他性特性と同一表示空間での重複記載・・・
を利用すれば、一定程度の解決方法にはなると思われます。

すなわち、[P21] の理解の上に話を進めますと、
まず先に Canvas を用意します(重要・・・先に Grid ではダメ)。
そして、その Canvas の子要素として Grid を作成し、
かつ、 Width, Height を Canvas のそれと同じにして、両者が全くピッタリと重なり合うように配置します。

ここで重要なことは、手前(上)に配置した Grid の Background を

    grid.Background = Brushes.Transparent; //C#

とすることが重要であるだけでなく、
この grid のセル内に配置する、あらゆるコントロールの Background を Brushes.Transparent;としておかなければなりません。

こうしておくことによって、Grid と Canvas が透過的に表示されるようになります。

そこで、Rectangle, Line クラスを用いて線を引くのですが、これは canvas の子要素とします。
Rectangle, Line には、 Background プロパティはありません。
自身の線の色を line(rect).Stroke = Brushes.Black; というように指定します
(ここでは, Brushes.Transparent;にしてはいけません。線が見えなくなってしまいます。)

私は、個人的には自分のライブラリを用いて簡単に Grid を作り上げられるようになっているのですが、
一般的に Grid のコード例は簡単には示せないので、コードは省略致します。
ここでの説明と、[P21] のコード例の要領を見ていただければ、わかると思いますので、ご容赦下さい。
http://hokkai53.cocolog-nifty.com/blog/2008/09/canvas-2421.html

以上

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
目次に戻る ・・・・ 左欄のカテゴリー 【パソコンの窓】 をクリック
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

|

« [P21] WPF: Canvas の非排他性特性と同一表示空間での重複記載 | トップページ | [P20] WPF下における印刷プレビュー画面作成の容易化 »

コメント

コメントを書く



(ウェブ上には掲載しません)




« [P21] WPF: Canvas の非排他性特性と同一表示空間での重複記載 | トップページ | [P20] WPF下における印刷プレビュー画面作成の容易化 »