Hatena::ブログ(Diary)

古事連書帖 このページをアンテナに追加 RSSフィード

2011-11-14

色リソース

基本的にデザインまわりはバインディングしまくる方がいいのでしょうが、僕のようなMVVMにまだ慣れてない人にとっては、WinFormsのようなコードでデザインいじれた方が都合のいい人もまだ多いと思います。

そこで重要になるのが色のリソース。ユーザーがシステムで選んでいる色に合わせた方が統一感があります。独自に色を決めるのもアリですが、色って結構めんどくさいのでユーザーに任せたいところ。

しかし、SystemColors構造体に入っているシステム色はなんか名前も違うし、見てみるとわかりますが、どの色もすべて #FF000000 つまり黒で埋まっています。

なんならこの構造体最初から入れておくなよって思いますが、Windows Phoneでシステム色の管理をしているのはリソースディクショナリだったりします。

例えばテーマ色の取り出し方はこんな感じ。

Color accentColor = (Color)Application.Current.Resources["PhoneAccentColor"];

これでユーザーが指定したテーマ色が取り出せます。


システムが管理しているリソースディクショナリの一覧は以下のMSDNの記事に載っています。Color以外にもいろいろあります。使い方は先ほどのコードのように、「Name」にあるリソース名を使うだけ。ちゃんと「Type」でキャストするのを忘れずに。

Theme Resources for Windows Phone

とある暇人の業務連絡とある暇人の業務連絡 2011/11/15 18:25 例外: Ionic.Zip.BadReadException
---------------説明
ZipFile::Read(): Bad signature (0x6E6F663C) at start of file at position 0x00000004
---------------スタックトレース
場所 Ionic.Zip.ZipFile.VerifyBeginningOfZipFile(Stream s)
場所 Ionic.Zip.ZipFile.ReadIntoInstance(ZipFile zf)
場所 Ionic.Zip.ZipFile._InitInstance(String zipFileName, TextWriter statusMessageWriter)
場所 Ionic.Zip.ZipFile..ctor(String fileName)
---------------諸情報
ソフトウェアバージョン: 2.1.5.23
Windows OS: Microsoft Windows XP Home Edition (Service Pack 3)

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証

トラックバック - http://d.hatena.ne.jp/ChiiAyano/20111114/p1