我正在用文件夹组织我的项目。所以我把所有的窗口文件放在"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}" />