Buttonレイアウト拡張(画像つきButton)
Buttonのコンポーネントに画像を表示させると
Buttonを押した時の動作をイメージしやすく出来る等の効果が得られる。
WPFではXAMLを使用する事でコンポーネントのレイアウトを自身で定義
する事が容易に出来る。
拡張に当たり、
- ContentTemplate
- DataTemplate
を使用する方法を以下に示す。
<Button> <Button.ContentTemplate> <DataTemplate> <StackPanel Orientation="Horizontal"> <Ellipse Fill="Red" Width="20" Height="20"/> <TextBlock Text="Sample"/> </StackPanel> </DataTemplate> </Button.ContentTemplate> </Button>
上記の例では
赤い丸と「Sample」の文字から構成されるButtonを表示させる事が出来る。
Ellipseの要素をImageにし、Sourceへ任意の画像を指定する事で画像つき
Buttonを表示させる事も出来る。
DataTemplate内に任意のレイアウトを記述する事で自由にレイアウトを拡張
出来てしまうのは魅力的な機能だと思う。