KatsuYuzuのブログ

.NET の開発をメインとした日記です。

SilverlightのTheme適用について その1「マークアップ」

Silverlightの強みはUIの柔軟性だと思っています。
クロスブラウザを意識しなくてもいいとか、Web上でごりごりした業務操作をさせられる柔軟性とか、とかとか……
従来のWeb開発(Html + CSS)に比べて、とにかくXAMLがすばらしい!目指せXAMLer!

Theming

Themingの実装について毎度毎度「どの手順がいいんだっけ?」となってしまうのでメモメモ。
大規模になるとなかなか投稿出来なくなるので短めに何回かにわけて紹介していきます。

ToolkitのThemeコントロールの利用

SilverlightでThemingを実装するうえで一番簡単なのはToolkitで提供されているThemeコントロールの使用です。
Toolkitは下記よりダウンロードできます。*1

ThemeコントロールのContent以下に配置したすべてのコントロールに対してThemeが適用されます。

<UserControl x:Class="ThemingSample.MainPage"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:toolkit="http://schemas.microsoft.com/winfx/2006/xaml/presentation/toolkit">

    <toolkit:ExpressionDarkTheme>
        <Grid x:Name="LayoutRoot" Margin="10" HorizontalAlignment="Left" VerticalAlignment="Top">
            <StackPanel>
                <TextBlock Text="TextBlock" />
                <Button Content="Button"/>
                <CheckBox Content="CheckBox"/>
                <RadioButton Content="RadioButton"/>
            </StackPanel>
        </Grid>
    </toolkit:ExpressionDarkTheme>
</UserControl>

次回

次回は、コードからの適用です。

*1:僕が現時点で使っているバージョンは「April 2010」です。