0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

WPF覚え書き~ControlTemplate~

Posted at

#はじめに
WPF学習中のため自分用に記載していきます。
間違い、不足などありましたらコメントをよろしくお願いします。

#ControlTemplateプロパティ
ControlTemplateプロパティを設定することで、外見をすべてカスタマイズすることが可能になる。


#例:Buttonコントロールをカスタマイズ
ButtonコントロールをControlTemplate(コントロールテンプレート)を利用してボタンを丸くしたものを作成する。

~省略~
<Button Content="Button" Margin="30" Background="LightSeaGreen">
    <Button.Template>
        <ControlTemplate TargetType="Button">
            <Border Name="border"
                BorderThickness="1"
                BorderBrush="OrangeRed"
                Background="{TemplateBinding Background}"
                CornerRadius="1000">
                <ContentPresenter VerticalAlignment="Center"
                                HorizontalAlignment="Center" />
            </Border>
        </ControlTemplate>
    </Button.Template>
</Button>

★「Background="{TemplateBinding Background}"」
 親コントロールのプロパティをバインドすることが可能


#例:トリガーを追加する
テンプレートが適用されたコントロールにトリガーを追加することも可能

~省略~
<Button Content="Button" Margin="30" Background="LightSeaGreen" >
    <Button.Template>
        <ControlTemplate TargetType="Button">
            <Border Name="border"
                    BorderThickness="10"
                    BorderBrush="OrangeRed"
                    Background="{TemplateBinding Background}"
                    CornerRadius="1000">
                    <ContentPresenter VerticalAlignment="Center"
                        HorizontalAlignment="Center" />
            </Border>

            <!--  マウスオーバー時に背景色を変更する  -->
            <ControlTemplate.Triggers>
                <Trigger Property="IsMouseOver" Value="true">
                    <Setter TargetName="border"
                    Property="Background"
                    Value="Yellow">
                    </Setter>
                </Trigger>
            </ControlTemplate.Triggers>
        </ControlTemplate>
    </Button.Template>
</Button>

#参照
コントロールのためのテンプレートを作成する方法 (WPF.NET)

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?