Установка WindowStartupLocation из ResourceDictionary выбрасывает исключение XamlParseException
Когда я пытаюсь установитьWindowStartupLocation
собственность черезSetter
в пределахResourceDictionary
, Я получаюXamlParseException
:
'Установить свойство' System.Windows.Setter.Property 'вызвала исключение.' Номер строки 'x' и позиция строки 'y'.
Внутренним исключением являетсяArgumentNullException
:
Value не может быть нулевым. Имя параметра: свойство.
Мой стиль в словаре ресурсов:
<Style TargetType="Window" x:Key="WindowStyle">
<Setter Property="SizeToContent" Value="WidthAndHeight" />
<Setter Property="ResizeMode" Value="CanMinimize" />
<Setter Property="WindowStartupLocation" Value="CenterOwner" />
</Style>
Проблема не в использованииResourceDictionary
, так как, когда я удаляюWindowStartupLocation
, два других свойства SizeToContent
а такжеResizeMode
) установлены, как и ожидалось, в окнах, которые ссылаются на стиль:
<Window x:Class="WpfApplication1.MyWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Style="{DynamicResource WindowStyle}">
<Window.Resources>
<ResourceDictionary Source="MyResourceDictionary.xaml" />
</Window.Resources>
</Window>
Кто-нибудь сталкивался с этим? Это ошибка / ограничение WPF?
P.S. Я знаю, что этот вопрос похож на Местоположение запуска Windows из словаря ресурсов, но по другому вопросу было предоставлено недостаточно информации, которая впоследствии осталась нерешенной.