我正在尝试将所有窗口设置为在屏幕中央打开。 我的所有窗口都使用样式文件:
<Window.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="../Styles/Mystyles.xaml"/>
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</Window.Resources>
所以我刚刚将此属性插入资源字典:
<Style x:Key="windowStyle" TargetType="Window">
<Setter Property="WindowStartupLocation" Value="CenterScreen"/>
</Style>
但是,它不起作用。我错过了什么吗?
答案 0 :(得分:1)
您不能使用Style来定义WindowStartupLocation,这是因为它不是依赖属性。 您可以在资源字典中定义一个StaticResource,它将在您的窗口中使用:
<WindowStartupLocation x:Key="StartupLocation">CenterScreen</WindowStartupLocation>
然后像这样使用它:
WindowStartupLocation="{DynamicResource StartupLocation}"
答案 1 :(得分:0)
您不需要使用x:Key
属性。你的风格必须如下:
<Style TargetType="{x:Type Window}">
<Setter Property="WindowStartupLocation" Value="CenterScreen"/>
</Style>
答案 2 :(得分:0)
如果您不想使用隐式样式(如bniwredyc建议的那样),您必须明确设置样式:
<Window **Style="{StaticResource windowStyle}"**>
<Window.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="../Styles/Mystyles.xaml"/>
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</Window.Resources>
答案 3 :(得分:0)
要在每个窗口中启动每个窗口,请在App.xaml中添加此行
<Application.Resources>
<WindowStartupLocation x:Key="StartupLocation">CenterScreen</WindowStartupLocation>
</Application.Resources>
并在Window标记
中添加此行WindowStartupLocation="{StaticResource StartupLocation}"