ZedZip
ZedZip

Reputation: 6472

WPF: How to change TransitioningContentControl background color?

I work with MahApps, use this contentcontrol to show a License text read from a file.

    <controls:TransitioningContentControl Transition="Down" Content="{Binding LicenseDocument}" FontFamily="{DynamicResource ContentFontFamily}" FontSize="{DynamicResource NormalFontSize}" Visibility="{Binding LicenseInfoVisibility}" TabIndex="0" Margin="0,-5,0,10"/>

public FrameworkElement LicenseDocument
{
  get;
  set;
}
public void InitDoc()
{
    try
    {
        const string licenseFullFile = @"License.rtf";
        using (
            MemoryStream stream = new MemoryStream(Encoding.Default.GetBytes(File.ReadAllText(licenseFullFile)))
            )
        {
            FlowDocument document = new FlowDocument();
            new TextRange(document.ContentStart, document.ContentEnd).Load(stream, DataFormats.Rtf);
            RichTextBox box = new RichTextBox(document)
            {
                VerticalScrollBarVisibility = ScrollBarVisibility.Auto,
                IsReadOnly = true
            };
            LicenseInfoVisibility = Visibility.Visible;
            this.LicenseDocument = box;
        }
    }
    catch (Exception xException)
    {
        Debug.WriteLine(xException);
    }
}

It works ok when I use

<ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Accents/BaseLight.xaml" />

There is my resourcedictionary

    <ResourceDictionary.MergedDictionaries>
        <ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Controls.xaml" />
        <ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Fonts.xaml" />
        <ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Colors.xaml" />
        <ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Accents/Blue.xaml" />
        <!--<ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Accents/Cobalt.xaml" />-->
        <!--<ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Accents/BaseDark.xaml" />-->
        <ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Accents/BaseLight.xaml" />
    </ResourceDictionary.MergedDictionaries>

But if I use BaseDark then richtext background and the font colors are black.

What is wrong?

Upvotes: 4

Views: 1315

Answers (1)

jsanalytics
jsanalytics

Reputation: 13188

Make sure License.rtf has foreground set to Automatic and background set to No Color.

XAML:

<Controls:MetroWindow xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
                  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
                  xmlns:Controls="http://metro.mahapps.com/winfx/xaml/controls"
                  xmlns:local="clr-namespace:MahApps.Metro.Application3" 
                  x:Class="MahApps.Metro.Application3.MainWindow"
                  Title="MainWindow"
                  Height="350"
                  Width="525">
<Controls:MetroWindow.DataContext>
    <local:MyViewModel/>
</Controls:MetroWindow.DataContext>

<Grid>
    <Controls:TransitioningContentControl Transition="Down" 
                                          Content="{Binding LicenseDocument}" 
                                          FontFamily="{DynamicResource ContentFontFamily}" 
                                          FontSize="{DynamicResource NormalFontSize}" 
                                          Visibility="{Binding LicenseInfoVisibility}" 
                                          TabIndex="0" Margin="0,-5,0,10"/>
</Grid>

BaseLight:

enter image description here

BaseDark:

enter image description here

Upvotes: 3

Related Questions