SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

DeveloperZine(デベロッパージン)- エンジニアの意思決定を支える技術情報メディア ProductZine

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

UWPアプリ開発の最前線

クリップボードビューアを作ろう!
~Windows 10 1809の新機能「クリップボード履歴」にアクセス

UWPアプリ開発の最前線 第10回

Windows Community Toolkitを利用したUI

 最後に、今回のサンプルアプリで使っているWindows Community Toolkitのコントロールを紹介しておきましょう。

AdaptiveGridViewコントロール

 GridViewコントロールと似ていますが、リサイズしても右側に隙間ができません。

 どういうことかというと、次の画像のように、横幅が変化したときにある程度まではセルの幅を変え、それを超えると列の数を増減することで、常にコントロールの横幅をフルに使ってくれます。

AdaptiveGridViewコントロール
AdaptiveGridViewコントロール

ScrollHeaderコントロール

 ListViewコントロールやGridViewコントロールなどのHeader要素の中に入れて使います。サンプルアプリでは、タイトルバー直下の青色の部分です。Mode属性の設定により、スクロールしたときの動作が次のようになります。

  • None:なにもしません(既定値)
  • QuickReturn:クイックリターンモード(次の画像)。スクロールに従って上へ消えますが、逆向きにスクロールしはじめるとただちに下がってきます
  • Sticky:固定モード。スクロールに関係なく上端に位置し続けます
  • Fade:フェードアウトモード。スクロールするにつれて薄くなっていきます
ScrollHeaderコントロール
ScrollHeaderコントロール(QuickReturnモード時)

WrapPanelコントロール

 中に入れた子要素を横に並べていき、横幅に収まらなくなると改行します。サンプルアプリでは、ScrollHeaderコントロールの中に置いてあり(次の画像の赤枠)、2つの子要素を持たせています(緑枠)。ウインドウの幅が広いときは2つが左右に並んでいますが、幅を狭くすると並びが上下に変わります。

WrapPanelコントロール
WrapPanelコントロール

まとめ

 Windows 10 1809の新機能「クリップボードの履歴」には、1809用の新しいSDKでアクセスできます。UWP用のAPIですが、従来のデスクトップアプリからも使えます。WPFの簡単なサンプルも用意しましたので、参考にしてください。

UWPアプリに興味が湧いてきた人へ

 Windowsデスクトップ用アプリの開発はWindows Formsなら経験があるけど、ちょっとUWPアプリ開発も気になってきたという方へ。ぴったりの電子書籍を書きました!

UWP アプリ開発 101 第2版: Windows Forms 開発者のための C# / XAML による UWP アプリ開発入門』 (BluewaterSoft 2017/7/1)
Kindle版UWPアプリ版があります。
・どちらも無料で最初の方を読めるので、とりあえず試し読みをしてみてください。

 また、Microsoft公式のチュートリアルやたくさんのサンプルコードなどもあります。UWPアプリの開発環境を整えてUWPアプリのプロジェクトを作れるようになったら、これらのドキュメントやサンプルも参考にしてみてください。

この記事は参考になりましたか?

連載通知を行うには会員登録(無料)が必要です。
既に会員の方はを行ってください。
UWPアプリ開発の最前線連載記事一覧

もっと読む

この記事の著者

biac(ばいあっく)

HONDA R&Dで自動車の設計をやっていた機械屋さんが、技術の進化スピードに魅かれてプログラマーに。以来30年ほど、より良いコードをどうやったら作れるか、模索の人生。わんくま同盟の勉強会(名古屋)で、よく喋ってたりする。2014/10~2019/6 Microsoft MVP (Windows Devel...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

CodeZine(コードジン)
https://codezine.jp/article/detail/11229 2018/12/07 14:00

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー