Program Tip

XAML에서 테두리에 대한 MouseOver 이벤트 / 트리거를 설정하는 방법은 무엇입니까?

programtip 2020. 10. 29. 19:11
반응형

XAML에서 테두리에 대한 MouseOver 이벤트 / 트리거를 설정하는 방법은 무엇입니까?


XAML에서 테두리에 대한 MouseOver 이벤트 / 트리거를 설정하는 방법은 무엇입니까? 마우스가 위에있을 때 테두리가 녹색으로 바뀌고 마우스가 더 이상 테두리 위에 있지 않으면 파란색으로 돌아 가기를 원합니다. 다음 코드를 사용할 수없는 이유는 무엇입니까?

<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>

WPF에서 이러한 트리거와 스타일을 실제로 얻지 못합니다. 이처럼 단순한 것을 달성 할 수없는 것은 그러한 끌림입니다 .. 저에게 해결책을 제공하고 제 코드에 무슨 문제가 있는지 이해하도록 도와주세요. 무리 감사.


네, 헷갈리네요 ...

이 블로그 게시물 에 따르면 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

반응형