« Windows ストア アプリでマルウェアを作ってみよう!? | トップページ | Windows Phone 8 で Shift-JIS を読む »

2012年12月 3日 (月)

[Metro] GridView のスクロール開始位置と、スクロール位置の指定

Windows ストア アプリで GridView を使うとき、 みんな困ってることがあります。 だからきっと WinRT 側で対処されると信じてるんですが、 RTM (製品版) では直りませんでした。 ってことで、 各自苦労しなきゃならんわけですよ orz

ストアの審査では、 初期表示時には GridView の中身の左端をタイトルに合わせろ、 と言われます。 だけど、 スクロールしたときは画面幅いっぱいに使いたい。 つまり、 次の画像のようにしたい。

20121203_metrocolorchart01
20121203_metrocolorchart02

それと、 スクロール位置も覚えておいて次の表示時に復元したいんだけど、 そういう機能も GridView にありません。

ScrollViewer の中に GridView を入れてやると、 上記の問題は2つとも解決できます。 が、 そうすると今度は、 GridView の UI 仮想化が無効になって、 項目数が多い時に表示されるのがとてつもなく遅くなっちゃいます。

てことで、 業を煮やして GridView を改造しちゃいました。 エラー処理を何もやってないので Nuget に入れられるレベルじゃないっす。 ここに放り出しておきますので、 使いたい人は自己責任でどぞ f(^^;

[2012/12/5] 上記を入れたアプリがストアに公開されました ⇒ 「bwDevTools: Metro カラーチャート

|

« Windows ストア アプリでマルウェアを作ってみよう!? | トップページ | Windows Phone 8 で Shift-JIS を読む »

プログラミング」カテゴリの記事

* プログラミング ( Metro スタイル )」カテゴリの記事

コメント

この記事へのコメントは終了しました。

トラックバック


この記事へのトラックバック一覧です: [Metro] GridView のスクロール開始位置と、スクロール位置の指定:

« Windows ストア アプリでマルウェアを作ってみよう!? | トップページ | Windows Phone 8 で Shift-JIS を読む »