Почему не работает мой стиль WPF?

Попытка вставить стиль в app.xaml. Мой app.xaml читает:

<Application x:Class="TestApp.App"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
    <Application.Resources>
        <Style x:Key="TestStyle" TargetType="Button">
            <Setter Property="Background" Value="Red"/>
        </Style>
    </Application.Resources>
</Application>

Мой XAML для кнопки выглядит следующим образом:

<Button Content="Click Me!" Style="{StaticResource TestStyle}" />

В конструкторе все выглядит нормально, но когда я запускаю код, он завершается неудачно с:

Provide value on 'System.Windows.StaticResourceExtension' threw an exception.

Я смотрю на это целую вечность, но не могу определить проблему!

РЕДАКТИРОВАТЬ

Похоже, что-то связано с приложением в целом. Если я копирую свой код в другой свежий проект, он работает нормально Единственное отличие состоит в том, что окно загружается с использованием "StartupUri =" MainWindow.xaml ". В той, которая не Во время запуска App.Startup окно загружается следующим образом:

protected override void OnStartup(StartupEventArgs e)
{
    base.OnStartup(e);
    new TestWindow().Show();
}

РЕШЕНИЕ

Обнаружена проблема - я пропустил вызов InitializeComponent. Теперь стили работают в конечном продукте, а не в дизайнере. Я собираюсь задать отдельный вопрос об этом.

5
задан Cœur 8 May 2018 в 16:05
поделиться