猿问

如何在app.xaml中设置默认的WPF窗口样式?

我试图在我的app.xaml中为WPF Windows应用程序中的每个窗口设置默认样式。到目前为止,我在app.xaml中具有以下内容:


<Application.Resources>

    <ResourceDictionary>

        <Style x:Key="WindowStyle" TargetType="{x:Type Window}">

            <Setter Property="Background" Value="Blue" />

        </Style>

    </ResourceDictionary>

</Application.Resources>

通过具体告诉窗口使用此样式,可以在运行应用程序时使窗口以这种样式显示(但不是VS设计器):


Style="{DynamicResource WindowStyle}

这可行,但不是理想的。那么我该如何:


是否所有窗口都自动使用了样式(所以我不必在每个窗口上都指定样式)?

VS设计师展示了风格吗?

谢谢!


温温酱
浏览 1083回答 3
3回答

慕标琳琳

设计器无法正常工作,因为您正在指定DynamicResource。请将其更改为StaticResource,一切都会好起来。要应用于所有窗口,应从样式中删除x:Key。设置TargetType会将x:Key隐式设置为TargetType中的任何值。但是,在我的测试中,这没有用,所以我正在研究它。如果我将TargetType设置为x:Type TextBlock,则设计器可以完美地工作,似乎只是Window在显示不同的行为。
随时随地看视频慕课网APP
我要回答