[ResourceDictionary中所有Windows的C#WPF背景样式-具有相对路径的目标类型?

问题描述 投票:0回答:1

我正在用文件夹整理项目。因此,我将所有窗口文件放在“ MyWindows”文件夹中,在另一个名为“样式”的文件夹中,我有一个ResourceDictionary。现在,我想为背景编写一种样式,该样式将应用于所有所需的窗口,如下所示:

<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}”之外,我还能做些什么吗?...我很好奇是否可以使用相对路径。

P.S .:我是WPF的初学者。

c# wpf
1个回答
1
投票

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

<Style xmlns:MyWindows="clr-namespace:MyWindows"
       TargetType="{x:Type MyWindows:Window1}" BasedOn="{StaticResource Ozadje}" />
© www.soinside.com 2019 - 2024. All rights reserved.