最大化するとENTIRE(タスクバーさえ表示されません)の不動産を占めるWindows Media PlayerまたはブラウザベースのFlash Playerと同じ効果を実現します。WPFウィンドウのスタイル=なしアプリケーションの初期化後に最大化するとタスクバーをカバーする
WindowState
がMaximized
に設定され、アプリがその状態で起動されるようにWindowStyle
は、XAMLでNone
に設定されている場合、これは正常に動作します。問題は、ボーダーウィンドウでアプリを起動したい場合と、ユーザーが選択したときに上記のように最大化することです。 StateChanged
ハンドラでは、私はMaximized
の状態をチェックし、この場合、私はWindowStyle
をNone
に設定しました。これは、ウィンドウを最大化する効果がありますが、タスクバーをカバーしません。次のコードは、私が好きなこの作業を行うが、そのハックと私はそれをきれいにしたいと思います(まだCTP 2006年から)
if (WindowState == WindowState.Maximized)
{
m_videoWindow.Maximize();
WindowStyle = WindowStyle.None;
//the following makes this work but I would like to clean it up
Hide();
Show();
}
EDITThisは、MSから問題と誰かに言及します次のバージョンでフルスクリーンサポートを改善することを希望している状態で、これらの改善が行われましたか?
この問題はまだ生きており、WPF/.NET 4.0のすべての最新バージョンでうまくいきます... - Microsoftは、このバグが後方互換性があるように思っています。私は少し違って、Hideを呼び出し、プロパティを設定して、Showを呼び出します。 – BrainSlugs83
まあまあ。私のコントロールのいくつかが適切にサイズ変更されていないことに気付きました。なぜ、(私の注文でも、あなたの注文でも)理由が分かりません。クイックソリューションは、最大化するDoEvents()を呼び出し、WindowStyleをNoneに設定し、Hide&Showを呼び出します。 DoEventsはもちろんSystem.Windows.Forms.Application.DoEvents()です(はい、私はそれが気違いで、おそらく最悪の習慣であることを知っていますが、動作します...) – BrainSlugs83