Как изменить цвет текста заголовка (Telerik) RadRibbonBar?

StackOverflow https://stackoverflow.com/questions/3273067

  •  17-09-2020
  •  | 
  •  

Вопрос

Я объявил Телерика RadRibbonBar в моем приложении, но текст окна заголовка белый и выглядит так:

alt text

На мой взгляд, это выглядит довольно плохо.Кто-нибудь знает какой-нибудь способ изменить это?Это XAML, который я использую:

<telerikRibbon:RadRibbonWindow x:Class="TestApp.MainWindow"                   
                               xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"                   
                               xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"                   
                               xmlns:telerik="clr-namespace:Telerik.Windows.Controls;assembly=Telerik.Windows.Controls"                   
                               xmlns:telerikRibbon="clr-namespace:Telerik.Windows.Controls;assembly=Telerik.Windows.Controls.RibbonBar"                                                 
                               Height="300" Width="300">
    <DockPanel LastChildFill="True">
        <telerikRibbon:RadRibbonBar ApplicationName="This text is white and looks awful." DockPanel.Dock="Top" Focusable="False">
            <telerikRibbon:RadRibbonBar.ApplicationMenu>
                <telerikRibbon:ApplicationMenu>
                    <telerikRibbon:RadRibbonButton Text="New"/>
                </telerikRibbon:ApplicationMenu>
            </telerikRibbon:RadRibbonBar.ApplicationMenu>

            <telerikRibbon:RadRibbonTab Header="Home">

            </telerikRibbon:RadRibbonTab>
        </telerikRibbon:RadRibbonBar>

        <Grid DockPanel.Dock="Bottom" Background="White">
        </Grid>
    </DockPanel>
</telerikRibbon:RadRibbonWindow>
Это было полезно?

Решение

Вам нужно извлечь шаблон RadRibbonBar, чтобы внести небольшие изменения в несколько свойств переднего плана.После извлечения найдите:

PART_ActualWindowTitle

Это относится к заголовку, который вы видите.Под ним найдите раздел с тремя текстовыми блоками (Заголовок, Разделитель, ИмяПриложения) и измените XAML на что-то вроде этого:

<StackPanel Orientation="Horizontal">
<TextBlock x:Name="Title" Foreground="{TemplateBinding Foreground}" Text="{TemplateBinding Title}"/>
<TextBlock x:Name="Divider"
            Foreground="{TemplateBinding Foreground}" telerik:LocalizationManager.ResourceKey="RibbonBarWindowTitleDivider" Text=" - "><Run Text=" - "/></TextBlock>
<TextBlock x:Name="ApplicationName"
            Foreground="{TemplateBinding Foreground}" Text="{TemplateBinding ApplicationName}"/>

Что позволит вам установить <telerik:RadRibbonBar Foreground="ColorYouWant" /> и это будет отражено в строке заголовка.Вы, конечно, можете переключить это на использование жестко закодированного значения, ресурса из другого места вашего приложения и т. д., но это та область, с которой вам нужно поработать, чтобы повлиять на заголовок приложения.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top