Свойство Template для Window

Задача моя была проста - создать оформление для Window через Style, учитывая контент окна.

Суть проблемы: Добавление Setter Property="Template" не даёт приложению запуститься, а так как WPF не выводит исключения, в чём проблема - не ясно.

Проблема точно не в: ссылках на классы/xaml, подключении файлов ( так как без Setter Property="Template" всё запускается как необходимо ).

AuthorizationView.xaml:

<Window 
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    x:Class="NC.view.AuthorizationView"
    mc:Ignorable="d"
    Style="{ StaticResource SpaceView }"
    Width="350" Height="450"
>
    <Grid>
        <TextBlock>TEST</TextBlock>
    </Grid>
</Window>

SpaceView.xaml:

<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
    <Style
        BasedOn="{ StaticResource { x:Type Window } }"
        TargetType="Window"
        x:Key="SpaceView"
    >
        <Setter 
            Property="WindowStyle"
            Value="None"
        />
        <Setter
            Property="ResizeMode"
            Value="NoResize"
        />
        
        <Setter 
            Property="AllowsTransparency"
            Value="True"
        />
        <Setter 
            Property="Background"
            Value="Transparent"
        />
        
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="Window">
                    <Border
                        Background="{ StaticResource BaseColor }"
                        CornerRadius="{ StaticResource BorderRadius }"
                    >
                        <ContentPresenter/>
                    </Border>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>
</ResourceDictionary>

Ожидается увидеть как "результат":

<Window 
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    x:Class="NC.view.AuthorizationView"
    mc:Ignorable="d"
    WindowStyle="None"
    ResizeMode="NoResize"
    AllowsTransparency="True"
    Background="Transparent"
    Width="350" Height="450"
>
    <Border
        Background="{ StaticResource BaseColor }"
        CornerRadius="{ StaticResource BorderRadius }"
    >
        <Grid>
            <TextBlock>TEST</TextBlock>
        </Grid>
    </Border>
</Window>

Ответы (1 шт):

Автор решения: NyashMyash99

Решение: Проблема оказалась в порядке подключения ResourceDictionary в Application.Resources. Имеющийся в SpaceView статический ресурс BaseColor подключался позднее, чем использовался.

Примечание для пользователей JetBrains Rider: Пробрасываемые исключения отображаются в Debug mode (Shift + F9), в отличии от Run mode (Shift + F10).

→ Ссылка