[XAML] 大きめのチェックボックスを作る

2013年12月16日

 標準のチェックボックスではいささか小さい…という場合には、LayoutTransform に ScaleTransform を設定すると大きくできます。

<CheckBox Content="ああああ">
    <CheckBox.LayoutTransform>
        <ScaleTransform CenterX="0"
                        CenterY="0"
                        ScaleX="1.5"
                        ScaleY="1.5" />
    </CheckBox.LayoutTransform>        
</CheckBox>

 ただ、上記の方法だと、チェックボックスのキャプション(Content) も拡大されてしまいます。キャプションは拡大したくない…という場合は、Caption は CheckBox 内に配置するのではなく、外側に TextBlock を配置することで解決します。

 ついでですが、LayoutTransform に複数の変形要素を設定したい場合は、TransformGroup で囲みます。

<Grid>
    <Grid.RowDefinitions>
        <RowDefinition Height="Auto" />
        <RowDefinition Height="*" />
    </Grid.RowDefinitions>

    <StackPanel Orientation="Horizontal">
        <CheckBox>
            <CheckBox.LayoutTransform>
                <TransformGroup>
                    <ScaleTransform CenterX="0"
                                    CenterY="0"
                                    ScaleX="1.5"
                                    ScaleY="1.5" />
                    <RotateTransform CenterX="0"
                                     CenterY="0"
                                     Angle="45"/>
                </TransformGroup>
            </CheckBox.LayoutTransform>
        </CheckBox>
        <TextBlock Text="ああああ"
                   VerticalAlignment="Center" />
    </StackPanel>
</Grid>

 また、LayoutTransform と LayoutTransform の違いはここが詳しいです。
 http://d.hatena.ne.jp/Yamaki/20070222/1172107092






カテゴリー: Program, xaml

Follow comments via the RSS Feed | Leave a comment | Trackback URL

コメントを投稿する

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)


«   »
 
Powered by Wordpress and MySQL. Theme by Shlomi Noach, openark.org