>

Windows Classic 테마를 사용하여 실행해야하는 WPF 응용 프로그램을 개발 중입니다. 응용 프로그램은 ListBox를 포함하는 대화 상자를 만듭니다. 대화 상자가 표시되면 입력을 수락하기 전에 1 초 동안 대화 상자를 비활성화해야합니다. 스타일 트리거 로이 작업을 수행하고 작동합니다. 그러나 ListBox가 비활성화되면 흰색 배경이 표시되어 제거 할 수 없습니다. 에어로 테마를 사용할 때 다음 스타일 리소스가 문제를 해결합니다.

<SolidColorBrush x:Key="{x:Static SystemColors.ControlBrushKey}" Color="Transparent"/>

그러나 Windows Classic 테마를 사용하면 흰색 배경이 다시 나타납니다. 클래식 테마의 상황을 어떻게 해결할 수 있습니까 ???


  • 답변 # 1

    추가 연구 결과, Windows Classic 테마가 ControlBrushKey 대신 WindowBrushKey를 사용한다는 것을 발견했습니다. 따라서 Aero 및 Classic 테마 모두에서 문제가 해결됩니다.

    <Style TargetType="{x:Type ListBox}">
        <Style.Resources>
            <SolidColorBrush x:Key="{x:Static SystemColors.ControlBrushKey}" Color="Transparent"/>
            <SolidColorBrush x:Key="{x:Static SystemColors.WindowBrushKey}" Color="Transparent"/>
        </Style.Resources>
    
    

관련 자료

  • 이전 javascript - HTML을 사용하여 숫자 줄을 그리는 방법
  • 다음 ios - Int32 어레이와 함께 신속한 사용 sizeof