Skip to content

カテゴリー: C#

[C# WPF] システムメニューが開かれたタイミングでなにかしたい

メニューが開かれたときには設定を解除しないといけない案件がありまして、メインメニューとコンテキストメニューはContextMenuOpendのイベントハンドラを使えば対応できたのですが、システムメニューどうするんだ?ということで調べた結果です。WPFだけではシステムメニューが開かれるタイミングを取得できなかったので、WndProcをフックすることになりました。

Leave a Comment

[C# WPF] StreamGeometryで破線を描画する

StreamGeometryで破線の描画をしたくなったのですが、Penオブジェクトへの設定での破線描画を調べると、Drawing.Penを使用する場合の設定方法ばかり出てきたので、Media.Penを使用する場合のサンプルを残しておきます。

WPFには、Penオブジェクトが2種類あります。

  • System.Windows.Media.Pen
  • System.Drawing.Pen

それぞれ、破線を描画するためのDashStyleの設定方法が違います。
Geometryを使用する場合、DrawGeometry()へ指定できるのはWindows.Media.Penの方です。

Leave a Comment

WPF FocusManager フォーカス周りのまとめ

  • 2017.04.03 サンプルがあまりにもあれだったので書き直しました。

WPFでちょっと描画領域の複雑なアプリを作っていて、フォーカスまわりがよくわかっていなかったのでサンプルを作りながらまとめました。
主にはMSDNのフォーカスの概要に書いてあります。
このページを読むと、論理フォーカスの辺りで「フォーカス」がゲシュタルト崩壊します。

Leave a Comment