0

基本的に、これは長方形といくつかのテキストブロックの外に存在するボタンです。長方形Fillは私のボタンの背景を表しています。ボタンが押されたときにこれを変更するにはどうすればよいですか?

ボタンを押した後も、背景はその色のままでなければなりません。これは基本的に、どのボタンが押され、何が押されていないかをユーザーに視覚的に示します。

私のスタイルの一部:

<Style x:Key="ButtonStyleReg" TargetType="{x:Type myClasses:RegButton}">
<Setter Property="Template">
    <Setter.Value>
        <ControlTemplate TargetType="{x:Type Button}">
            <Grid x:Name="regButton">
                <Rectangle Name="rectangleBtn" Fill="#FF89959A" Height="Auto" RadiusY="15" RadiusX="15" Stroke="White" Width="Auto"/>                                             
            </Grid>
            <ControlTemplate.Triggers>
                <Trigger Property="IsFocused" Value="True"/>
                <Trigger Property="IsDefaulted" Value="True"/>
                <Trigger Property="IsPressed" Value="True" >
                    <Setter TargetName="rectangleBtn" Property="Fill" Value="Blue" />
                </Trigger>
                <Trigger Property="IsEnabled" Value="False"/>
            </ControlTemplate.Triggers>
        </ControlTemplate>
    </Setter.Value>
</Setter>
<Setter Property="FontSize" Value="10.667"/>

4

1 に答える 1

2

正しい要素をアドレス指定する必要があります。長方形に名前を付け、名前参照によってセッターをその要素にポイントしてみてください。

<Setter.Value>
            <ControlTemplate TargetType="{x:Type Button}">
                <Grid x:Name="regButton">
                    <Rectangle Fill="#FF89959A"
                               x:Name="rect"
                               Height="Auto"
                               RadiusY="15"
                               RadiusX="15"
                               Stroke="White"
                               Width="Auto" />
                </Grid>
                <ControlTemplate.Triggers>
                    <Trigger Property="IsFocused"
                             Value="True" />
                    <Trigger Property="IsDefaulted"
                             Value="True" />
                    <Trigger Property="IsPressed"
                             Value="True">
                        <Setter Property="Background"
                                TargetName="rect"
                                Value="Blue" />
                        <!--??-->
                    </Trigger>
                    <Trigger Property="IsEnabled"
                             Value="False" />
                </ControlTemplate.Triggers>
            </ControlTemplate>
于 2012-05-10T09:28:57.607 に答える