人気ブログランキング |

体重と今日食べたもの

k1segawa.exblog.jp

ダイエット

ブログトップ

RenderTransformとリストボックス (10/9)

Expression Blendで、リストボックスのスクロールバーをズームして、タッチパネル用に使いやすくしたい。

WPFでRenderTransformを使えば、標準コントロールを拡大する事が出来る事は以前調べた。(XAMLにScaleTransform ScaleX="4" ScalY="4"で4倍)
せっかくなので、Expression Blendですいすいとやりたい。

1.VS2010でWPFアプリケーションを新規作成し、リストボックスを置く。
2.アイテムを追加する。
※コードをコンストラクタに書いてもいい。
enum num { A, B, C, D, E, F, G, H, I, J, K, L, M, N }

foreach( string n in Enum.GetNames(typeof(num)))
listBox1.Items.Add(n);
3.プロジェクトを保存して、Expression Blenderで開く。
4.listBox1を選んで、プロパティタブ画面の▼変換で、ズームタグ(3番目の四角の中から矢印が外に飛び出しているアイコン)を選ぶ。
5.X、Yに4を入力する。
a0034780_13215764.png

6.フォントサイズを小さく(8)したり、リストボックスのサイズや位置を調整してGrid内に収まるようにする。
7.メニュー>プロジェクト>プロジェクトの実行でテスト動作をする。
8.スクロールバーが太くなりタッチパネル向きになる。
a0034780_13262330.png

9.全て保存してVS2010で開く。
10.XAMLを表示すると色々追加されているが、結局下記のようになる。
<Grid>
<ListBox FontSize="8" Margin="166,39,495,435" Name="listBox1">
<ListBox.RenderTransform>
<ScaleTransform ScaleX="4" ScaleY="4"/>
</ListBox.RenderTransform>
</ListBox>
</Grid>
11.アイテムを選択すると、フォーカス枠がぶつぶつした点で表示される。
a0034780_1337667.png

12.これはlistBox1.FocusVisualStyleでうまく消せないので、オーナードローで消す。
http://dobon.net/vb/dotnet/control/lbownerdraw.html
by k1segawa | 2011-10-09 13:34 | Comments(0)