sourcecode

XAML 테두리에 마우스 오버 이벤트/트리거를 설정하는 방법

codebag 2023. 4. 18. 22:38
반응형

XAML 테두리에 마우스 오버 이벤트/트리거를 설정하는 방법

마우스가 테두리를 넘으면 테두리가 녹색으로 바뀌고 마우스가 테두리를 넘으면 파란색으로 돌아갑니다.

나는 이것을 시도했지만 운이 없었다.

<Border 
    Name="ClearButtonBorder" 
    Grid.Column="1" 
    CornerRadius="0,3,3,0" 
    Background="Blue">
    <Border.Triggers>
        <Trigger Property="Border.IsMouseOver" Value="True">
            <Setter Property="Border.Background" Value="Green" />
        </Trigger>
        <Trigger Property="Border.IsMouseOver" Value="False">
            <Setter Property="Border.Background" Value="Blue" />
        </Trigger>
    </Border.Triggers>
    <TextBlock 
        HorizontalAlignment="Center" 
        VerticalAlignment="Center" 
        Text="X" />
</Border>

MouseOver의 트리거 또는 이벤트를 설정하려면 어떻게 해야 합니까?

네, 헷갈리네요.

이 블로그의 투고에 의하면, 이것은 WPF로부터의 누락인 것 같습니다.

작동시키려면 스타일을 사용해야 합니다.

    <Border Name="ClearButtonBorder" Grid.Column="1" CornerRadius="0,3,3,0">
        <Border.Style>
            <Style>
                <Setter Property="Border.Background" Value="Blue"/>
                <Style.Triggers>
                    <Trigger Property="Border.IsMouseOver" Value="True">
                        <Setter Property="Border.Background" Value="Green" />
                    </Trigger>
                </Style.Triggers>
            </Style>
        </Border.Style>
        <TextBlock HorizontalAlignment="Center" VerticalAlignment="Center" Text="X" />
    </Border>

대부분의 사람들은 이런 것을 하나의 스타일로 분류하는 경향이 있기 때문에 여러 컨트롤로 사용할 수 있기 때문에 이 문제는 그다지 흔하지 않은 것 같습니다.

언급URL : https://stackoverflow.com/questions/2388429/how-to-set-mouseover-event-trigger-for-border-in-xaml

반응형