Как я могу изменить цвет текста заголовка (Telerik) RadRibbonBar? - PullRequest
2 голосов
/ 18 июля 2010

Я объявил Telerik 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>

1 Ответ

4 голосов
/ 20 июля 2010

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

PART_ActualWindowTitle

, который охватывает заголовок, который вы видите.Под этим найдите раздел с тремя текстовыми блоками (Title, Divider, ApplicationName) и измените 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" />и это будет отражено в строке заголовка.Конечно, вы можете переключить это, чтобы использовать жестко запрограммированное значение, ресурс из другого места в вашем приложении и т. Д., Но это та область, с которой вы хотите работать, чтобы иметь влияние на заголовок приложения.

...