TabItem 선택한 wpf에서 테두리 및 배경 변경 비활성화

HelloKiddy987

내 WPF 문서에는 다음이 있습니다.

<Window.Resources>
    <Style x:Key="SidebarTab" TargetType="TabItem">

        <Setter Property="Foreground"  Value="#303030"></Setter>
        <Setter Property="BorderBrush"  Value="Transparent"></Setter>
        <Setter Property="BorderThickness"  Value="0"></Setter>
        <Setter Property="Background"  Value="#151515"></Setter>

        <Style.Triggers>
            <Trigger Property="IsSelected" Value="True">
                <Setter Property="Foreground" Value="{StaticResource PrimaryHueMidBrush}"></Setter>
                <Setter Property="BorderBrush"  Value="Transparent"></Setter>
                <Setter Property="BorderThickness"  Value="0"></Setter>
                <Setter Property="Background"  Value="#151515"></Setter>
            </Trigger>
        </Style.Triggers>

    </Style>
</Window.Resources>

<Border Background="#151515" CornerRadius="20">
    <Grid Margin="23,47,0,0">
        <TabControl TabStripPlacement="Left" Style="{DynamicResource SidebarTabControl}">
            <TabItem Style="{DynamicResource SidebarTab}">
                <TabItem.Header>
                    <materialDesign:PackIcon Kind="EmoticonLol" VerticalAlignment="Center" HorizontalAlignment="Left"/>
                </TabItem.Header>
            </TabItem>
            <TabItem Style="{DynamicResource SidebarTab}">
                <TabItem.Header>
                    <materialDesign:PackIcon Kind="EmoticonLol" VerticalAlignment="Center" HorizontalAlignment="Left"/>
                </TabItem.Header>
            </TabItem>
            <TabItem Style="{DynamicResource SidebarTab}">
                <TabItem.Header>
                    <materialDesign:PackIcon Kind="EmoticonLol" VerticalAlignment="Center" HorizontalAlignment="Left"/>
                </TabItem.Header>
            </TabItem>
            <TabItem Style="{DynamicResource SidebarTab}">
                <TabItem.Header>
                    <materialDesign:PackIcon Kind="EmoticonLol" VerticalAlignment="Center" HorizontalAlignment="Left"/>
                </TabItem.Header>
            </TabItem>
            <TabItem Style="{DynamicResource SidebarTab}">
                <TabItem.Header>
                    <materialDesign:PackIcon Kind="EmoticonLol" VerticalAlignment="Center" HorizontalAlignment="Left"/>
                </TabItem.Header>
            </TabItem>
        </TabControl>
    </Grid>
</Border>

그리고 다음과 같이 보입니다.

여기에 이미지 설명 입력

에서 아이콘 색상 변경의 원하는 효과를 TabItem얻었지만 BackgroundBorderBrush(뿐만 아니라 BorderThickness)도 여전히 헤더 내부의 콘텐츠에 "연결"되도록 변경되고 있으며 이것이 제거하고 싶은 것입니다.

여기에 이미지 설명 입력

스타일 내부에 다음과 같이 추가했습니다.

 <Style.Triggers>
    <Trigger Property="IsSelected" Value="True">
        <Setter Property="Foreground" Value="{StaticResource PrimaryHueMidBrush}"></Setter>
        <Setter Property="BorderBrush"  Value="Transparent"></Setter>
        <Setter Property="BorderThickness"  Value="0"></Setter>
        <Setter Property="Background"  Value="#151515"></Setter>
    </Trigger>
</Style.Triggers>

하지만 여전히 작동하지 않습니다. 누구든지 이것을 수행하는 방법에 대한 제안이 있습니까?

GK

나는 당신의 스타일로 시도했고 국경도 얻을 수 있습니다. 그 이유는 실제로 TabItem의 기본 템플릿에는 색상을 정의 할 때 속성이 적용되지 않는 테두리 색상과 두께가 있기 때문입니다.

따라서 실제로해야 할 일은 탭 항목에 대한 컨트롤 템플릿을 다시 정의하는 것입니다.

TabItem의 Template 속성을 재정의하고 몇 가지 항목을 추가하고 BorderThickness, BorderBrush 및 Background를 바인딩하여 기본적인 변경을 수행했습니다.

<Style x:Key="SidebarTab" TargetType="TabItem">

        <Setter Property="Foreground"  Value="#303030"></Setter>
        <Setter Property="BorderBrush"  Value="Red"></Setter>
        <Setter Property="BorderThickness"  Value="1"></Setter>
        <Setter Property="Background"  Value="White"></Setter>

        <!--I have added this START-->
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="TabItem">
                    <Border BorderThickness="{TemplateBinding BorderThickness}" BorderBrush="{TemplateBinding BorderBrush}"
                            Background="{TemplateBinding Background}">
                        <ContentPresenter ContentSource="Header" />
                    </Border>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
       <!--I have added this END-->

        <Style.Triggers>
            <Trigger Property="IsSelected" Value="True">
                <Setter Property="Foreground" Value="Blue"></Setter>
                <Setter Property="BorderBrush"  Value="Transparent"></Setter>
                <Setter Property="BorderThickness"  Value="0"></Setter>
                <Setter Property="Background"  Value="Yellow"></Setter>
            </Trigger>
        </Style.Triggers>

    </Style>

참고 :- 테스트 목적으로 위 코드에서 전경, 배경, 테두리 두께의 속성 값을 변경했으며 정적 리소스를 찾을 수 없었습니다. 키로 다시 변경해야합니다.

나는 당신이 더 진행할 수 있도록 요점을 만들었기를 바랍니다. 시도해보고 문제를 발견하면 알려주십시오.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

Jasmine 테스트 입력 유형 파일 및 변경 이벤트에 대한 버튼 비활성화 / 활성화

분류에서Dev

WPF에서 컨트롤의 선택 배경 효과 비활성화

분류에서Dev

Ubuntu 17.10에서 GTK +를 비활성화 한 후 아이콘 및 UI 테마를 변경할 수 없습니다.

분류에서Dev

CSS에서 선택 배경색 비활성화

분류에서Dev

Google 차트에서 선택한 열 테두리 색상 및 너비를 변경하는 방법은 무엇입니까?

분류에서Dev

비활성화 된 입력에서 배경, 테두리 및 허용되지 않는 포인터를 제거하는 방법

분류에서Dev

다른 두 가지를 선택한 경우에만 선택 요소 활성화

분류에서Dev

부트 스트랩 선택 요소 너비 변경 및 테두리 제거

분류에서Dev

텍스트 변경 이벤트에서 버튼 활성화 및 비활성화

분류에서Dev

jQuery : 기본값 선택 및 여러 선택에 대한 변경 트리거

분류에서Dev

배경에서 흐릿한 비디오의 흰색 테두리

분류에서Dev

jQuery 선택 가능 및 선택한 테이블 셀에서 입력 비활성화

분류에서Dev

라이브 배경 화면에서 사운드를 활성화 및 비활성화하는 확인란 추가

분류에서Dev

vba에서 다양한 범위 주변의 테두리 및 선 스타일 변경

분류에서Dev

마우스로 가리키면 WPF에서 배경 전경 및 테두리 색상을 어떻게 변경합니까?

분류에서Dev

ASP 달력 컨트롤에서 활성화 및 비활성화 된 날짜의 색상 변경

분류에서Dev

머티리얼 UI 선택 테두리 및 라벨 변경 방법

분류에서Dev

머티리얼 UI 선택 테두리 및 라벨 변경 방법

분류에서Dev

SwiftUI TabView에서 특정 tabItem 선택을 비활성화 하시겠습니까?

분류에서Dev

모난. 타이머에 대한 변경 감지 비활성화

분류에서Dev

Synaptics Touchpad 및 TrackPoint는 로그인 한 경우에만 비활성화됩니다.

분류에서Dev

활성 탐색 탭에서 버튼 테두리 변경

분류에서Dev

배경과 테두리에 동일한 임의의 색상 변경 적용

분류에서Dev

Android 6.0 이상 : 내 앱에서 지리적 위치가 비활성화 됨 (전화 설정 및 매니페스트에서 활성화 된 경우에도)

분류에서Dev

TabItem = IsSelected에서 이미지 및 텍스트 블록 전경 변경

분류에서Dev

WPF ComboBox 비활성화 된 항목은 여전히 테두리에서 선택할 수 있습니다.

분류에서Dev

TableView JavaFx에서 여러 행을 선택한 경우 일부 컨텍스트 메뉴 항목 비활성화

분류에서Dev

QTableView에서 여러 항목을 선택한 경우 단추를 비활성화하는 방법

분류에서Dev

내 테마에서 머티리얼 버튼 비활성화 상태 배경색을 변경하는 방법은 무엇입니까?

Related 관련 기사

  1. 1

    Jasmine 테스트 입력 유형 파일 및 변경 이벤트에 대한 버튼 비활성화 / 활성화

  2. 2

    WPF에서 컨트롤의 선택 배경 효과 비활성화

  3. 3

    Ubuntu 17.10에서 GTK +를 비활성화 한 후 아이콘 및 UI 테마를 변경할 수 없습니다.

  4. 4

    CSS에서 선택 배경색 비활성화

  5. 5

    Google 차트에서 선택한 열 테두리 색상 및 너비를 변경하는 방법은 무엇입니까?

  6. 6

    비활성화 된 입력에서 배경, 테두리 및 허용되지 않는 포인터를 제거하는 방법

  7. 7

    다른 두 가지를 선택한 경우에만 선택 요소 활성화

  8. 8

    부트 스트랩 선택 요소 너비 변경 및 테두리 제거

  9. 9

    텍스트 변경 이벤트에서 버튼 활성화 및 비활성화

  10. 10

    jQuery : 기본값 선택 및 여러 선택에 대한 변경 트리거

  11. 11

    배경에서 흐릿한 비디오의 흰색 테두리

  12. 12

    jQuery 선택 가능 및 선택한 테이블 셀에서 입력 비활성화

  13. 13

    라이브 배경 화면에서 사운드를 활성화 및 비활성화하는 확인란 추가

  14. 14

    vba에서 다양한 범위 주변의 테두리 및 선 스타일 변경

  15. 15

    마우스로 가리키면 WPF에서 배경 전경 및 테두리 색상을 어떻게 변경합니까?

  16. 16

    ASP 달력 컨트롤에서 활성화 및 비활성화 된 날짜의 색상 변경

  17. 17

    머티리얼 UI 선택 테두리 및 라벨 변경 방법

  18. 18

    머티리얼 UI 선택 테두리 및 라벨 변경 방법

  19. 19

    SwiftUI TabView에서 특정 tabItem 선택을 비활성화 하시겠습니까?

  20. 20

    모난. 타이머에 대한 변경 감지 비활성화

  21. 21

    Synaptics Touchpad 및 TrackPoint는 로그인 한 경우에만 비활성화됩니다.

  22. 22

    활성 탐색 탭에서 버튼 테두리 변경

  23. 23

    배경과 테두리에 동일한 임의의 색상 변경 적용

  24. 24

    Android 6.0 이상 : 내 앱에서 지리적 위치가 비활성화 됨 (전화 설정 및 매니페스트에서 활성화 된 경우에도)

  25. 25

    TabItem = IsSelected에서 이미지 및 텍스트 블록 전경 변경

  26. 26

    WPF ComboBox 비활성화 된 항목은 여전히 테두리에서 선택할 수 있습니다.

  27. 27

    TableView JavaFx에서 여러 행을 선택한 경우 일부 컨텍스트 메뉴 항목 비활성화

  28. 28

    QTableView에서 여러 항목을 선택한 경우 단추를 비활성화하는 방법

  29. 29

    내 테마에서 머티리얼 버튼 비활성화 상태 배경색을 변경하는 방법은 무엇입니까?

뜨겁다태그

보관