WPF: настройка фонового изображения для заголовков вкладок в элементе управления вкладками - PullRequest
0 голосов
/ 26 марта 2019

Может кто-нибудь подсказать, пожалуйста, как установить фоновое изображение для заголовков вкладок в TabControl.Я не хочу заменять текст заголовка изображением, я хочу отобразить текст и установить изображение на фоне заголовка.

1 Ответ

0 голосов
/ 26 марта 2019

ОК Решено.Следующее изменяет фоновое изображение заголовка вкладки.Переключение на другое фоновое изображение при выборе вкладки.

                <TabControl.Resources>
                    <Style TargetType="TabItem">
                        <Setter Property="Template">
                            <Setter.Value>
                                <ControlTemplate TargetType="TabItem">
                                    <Grid Name="gTabBG">
                                        <Grid.Background>
                                            <ImageBrush x:Name="tabBGImg" ImageSource="tab_normal.png" />
                                        </Grid.Background>
                                            <!-- other contents -->
                                        <Border Name="Border"  >
                                            <ContentPresenter x:Name="ContentSite"
                                            VerticalAlignment="Center"
                                            HorizontalAlignment="Center"
                                            ContentSource="Header"
                                            Margin="10,2"/>
                                        </Border>
                                    </Grid>
                                    <ControlTemplate.Triggers>
                                            <Trigger Property="IsSelected" Value="True">
                                                <Trigger.Setters>
                                                    <Setter TargetName="gTabBG" Property="Background">
                                                        <Setter.Value>
                                                            <ImageBrush ImageSource="tab_selected.png" />
                                                        </Setter.Value>
                                                    </Setter>
                                                </Trigger.Setters>
                                            </Trigger>
                                            <Trigger Property="IsSelected" Value="False">
                                                <Trigger.Setters>
                                                    <Setter TargetName="gTabBG" Property="Background">
                                                        <Setter.Value>
                                                            <ImageBrush ImageSource="tab_normal.png" />
                                                        </Setter.Value>
                                                    </Setter>
                                                </Trigger.Setters>
                                            </Trigger>
                                        </ControlTemplate.Triggers>
                                </ControlTemplate>
                            </Setter.Value>
                        </Setter>
                    </Style>
                </TabControl.Resources>

...