【发布时间】:2012-05-22 17:10:34
【问题描述】:
当我尝试在ResourceDictionary 中通过Setter 设置WindowStartupLocation 属性时,我得到XamlParseException:
'设置属性'System.Windows.Setter.Property'引发异常。'行号“x”和行位置“y”。
内部异常是ArgumentNullException:
值不能为空。参数名称:属性。
我在资源字典中的风格是:
<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 的错误/限制吗?
附:我知道这个问题与Window Startup Location from resource dictionary 类似,但在另一个问题中没有提供足够的信息,随后仍未解决。
【问题讨论】:
标签: c# wpf .net-4.0 resourcedictionary