바깥쪽 border 색상 변경 관련 문의

나는 버튼이 클릭되었을때 바깥쪽 border 색상을 변경하고 싶습니다

기존에는 버튼을 클릭시 버튼의 Background만 변경되게 하였지만 바깥쪽 border드 색상도 변경하고 싶습니다
border에서는 IsChecked 기능을 사용할수 없는데 다른 방법이 있나요

<Border Grid.Row="2" 
        BorderBrush="#d1d0cf" 
        Background="#ffffff" 
        BorderThickness="2, 2, 2, 2" 
        CornerRadius="10,10,10,10">
    <Grid>
        <Border Grid.Column="0" 
                Grid.RowSpan="2" 
                Width="70" 
                Height="70" 
                Style="{StaticResource ButtonStyle.BorderRadius}">
            <ToggleButton 
                VerticalAlignment="Center" 
                Width="50" 
                Height="50" 
                Command="{Binding Path=checkCommand}"  
                CommandParameter="checkCommandParameter" 
                Style="{StaticResource ButtonStyle.ButtonStyle}" 
                IsChecked="{Binding Path=ModelBinder.checked, Mode=OneWay}"/>
        </Border>
    </Grid>
</Border>

나는 이렇게 코드를 작성했습니다

1개의 좋아요

트리거(Trigger)를 이용하면 됩니다.

2개의 좋아요

트리거 스타일에서 어떤식으로 스타일 설정을 해야하나요?
ModelBinder.checked =TRUE 일때 색상을 바꾸고 싶은데요

1개의 좋아요

이부분의 색상을 변경하고 싶습니다

1개의 좋아요
<Border
    BorderBrush="#d1d0cf"
    BorderThickness="2,2,2,2"
    CornerRadius="10,10,10,10">
    <Border.Style>
        <Style TargetType="Border">
            <Style.Triggers>
                <DataTrigger Binding="{Binding ElementName=button, Path=IsChecked, Mode=OneWay}" Value="True">
                    <Setter Property="Background" Value="Red" />
                </DataTrigger>
            </Style.Triggers>
        </Style>
    </Border.Style>
    <Grid>
        <Border Width="70" Height="70">
            <ToggleButton
                x:Name="button"
                Width="50"
                Height="50"
                VerticalAlignment="Center" />
        </Border>
    </Grid>
</Border>

이런식으로 가능합니다. 이 코드는 ToggleButton의 속성 IsChecked에 반응하도록 했는데 다른 바인딩된 값으로도 물론 가능합니다.

IsChecked False
image

IsChecked True
image

3개의 좋아요