资源字典中所有窗口的 C# WPF 背景样式 - 具有相对路径的目标类型?



我正在用文件夹组织我的项目。所以我把所有的窗口文件放在"MyWindows"文件夹中,在另一个叫做"样式"的文件夹中,我有一个资源词典。现在我想编写一个适用于所有所需窗口的背景样式,如下所示:

<Style TargetType="Window" x:Key="Ozadje">
<Setter Property="Background">
<Setter.Value>
<LinearGradientBrush EndPoint="0.5,1" MappingMode="RelativeToBoundingBox" StartPoint="0.5,0">
<GradientStop Color="#FF66A7B6" Offset="0.997"/>
<GradientStop Color="White"/>
<GradientStop Color="#FFAEF1F1"/>
<GradientStop Color="#FFACEAEA"/>
<GradientStop Color="#FF9BF1E6"/>
<GradientStop Color="#FFBFD1CF" Offset="0.06"/>
<GradientStop Color="#FF6CAAB7" Offset="0.924"/>
<GradientStop Color="#FF99BFC4"/>
</LinearGradientBrush>
</Setter.Value>
</Setter>
</Style>
<Style TargetType="MyWindows/Window1" BasedOn="{StaticResource {x:Type Window}}" />

我无法设置它,因为所有 Windows 都不在资源字典所在的local:命名空间中。另一个问题是,窗口的样式必须通过引用手动应用于每个窗口。

除了在窗口属性中调用Style="{StaticResource Ozadje}">之外,我还能做些什么吗?...我很好奇我是否可以使用相对路径。

PS:我是WPF的初学者。

为定义Window1的命名空间定义命名空间映射,例如:

<Style xmlns:MyWindows="clr-namespace:MyWindows"
TargetType="{x:Type MyWindows:Window1}" BasedOn="{StaticResource Ozadje}" />

最新更新