しばやん雑記

ASP.NET とメイドさんが大好きなフリーランスのプログラマーのブログ

WPF メモ (20)

ある DependencyObject を持つ Window を取得したい場合は Window.GetWindow を使う。ウィンドウのフックに使いたい場合は HwndSource.FromVisual とかを使ったほうが楽だけど。

HwndSource.FromVisual は PresentationSource を返すけど、単純にキャストすれば問題なし。

追記

WPF で通知領域アイコンを使おうと思ったので

Unknown Recipes - A WPF wrapper around Windows Form NotifyIcon

を試してみたんですが、MenuItem.Command を指定している場合は項目自体が無効になってしまいます。Click を直接措定すれば問題ないんですが、今回はコマンドを使う必要があるのでどうしたものか。

てっきり FrameworkElement を継承して、Window 以下に置くことで解決する問題だと思ってたんですが……。

やはり MS は Microsoft.Win32 以下に NotifyIcon とかを入れておくべきだと。