Architect's Log

I'm a Cloud Architect. I'm highly motivated to reduce toils with driving DevOps.

「めとべや東京 #4」に行ってきた(その2「Modern WPF」by Microsoft MVPぐらばくさん)

f:id:JHashimoto:20140409044240j:plain

5/31に「めとべや東京 #4」に行ってきたので、何度かに分けて勉強会の内容を紹介します。

めとべや東京#4
de:code 直後ということで、クライアントサイトテクノロジを中心に最新情報をいち早くまとめて聞いて見ませんか? ...

 

今回は2回目です。2つ目のセッションは、Microsoft MVP ぐらばくさんの「Modern WPF」でした。

セッション内容

デスクトップ

  • 成熟したプラットフォーム
  • 今後大きなアップデートはない(と思われる)

WPF Modern Style

非クライアント領域をカスタマイズしたい
  • WindowsStyle.Noneにする
    • OSが提供してくれていた機能が失われる
    • 標準ウィンドウの動作をエミュレートするロジックが必要
    • 使いどころ
      • スプラッシュ画面
      • デスクトップウィジェット
スプラッシュスクリーンをなる速で実装
  • 画像をプロジェクトに追加
  • ビルドアクションをSplashScreenにする 
画像とウィンドウのスプラッシュスクリーンの両方を出す
  • 例:Blend for Visual Studio
    • 最初に画像を出して、後からウィンドウを出している
    • ウィンドウのスプラッシュスクリーンでできること
      • 表示文字のローカライズ
      • アニメーション
        • Officeなど
  • どうやって実装されているかは、WPF Spyで調査できる
Windows API Code Pack
  • Windows Vista/7で追加された機能のマネージラッパー
  • Task Bar
  • WindowsChrome Class
    • .NET Framework 4.5でBCLに
    • クライアント領域を非クライアント領域まで拡張する
    • OS機能がそのまま提供される
    • タイトルバーのコントロールボックス(×ボタン、最小化ボタン、最大化ボタン)に相当するものを自作する場合
      • Marlettフォントで簡単に外観を実現できる
      • クリックを有効にするためには、WindowChrome.IsHitTestVisibleInChromeプロパティを設定する必要がある
Control Library
  • コントロールの外観をカスタマイズ
    • Blendでテンプレートをコピー - 編集
    • カスタムコントロール&スタイル群
    • ライブラリを参照しApp.amlのResourceDictinaryで定義
UIライブラリ
  • Elysium
    • Zune、Windows Phoneっぽい

Elysium - Home
Elysium is library that implements Metro style for Windows Presentation Foundation applications. ...

 
  • MahApps.Metro

MahApps.Metro Documentation
a UI toolkit for WPF ...

for Windows 8.1

  • Windows Forms
    • 高DPI環境で、DPI仮想化され、ぼやける
  • WPF
    • ぼやけずに拡大される
      • デバイス非依存ピクセルなので
    • モニターごとのスケーリングを変えた時(Windows8.1の新機能)ぼやける
      • 自分で対応する必要がある
  • ストアアプリ
    • 高DPI環境でも、モニターごとのスケーリングを変えた時でも、ぼやけない

セッション資料

Room metro Tokyo #4 資料公開 | grabacr.nét

関連エントリー

「めとべや東京 #4」に行ってきた(その1「ユニバーサルWindowsアプリ開発入門」 by Microsoft MVP大田一希さん) - プログラマーな日々

 

「めとべや東京 #4」に行ってきた(その3「The Next Generation for C# Developers」by Microsoft MVP tanaka733さん) - プログラマーな日々

 

「めとべや東京 #4」に行ってきた(その4「コーディング面接」by Microsoft MVP 岩永信之さん) - プログラマーな日々

 

「めとべや東京 #4」に行ってきた(その5 LT) - プログラマーな日々