gpt4 book ai didi

c# - 将背景设置为指向 LinearGradientBrush 的 StaticResource 会使我的应用程序崩溃,有什么想法吗?

转载 作者:太空宇宙 更新时间:2023-11-03 11:13:55 24 4
gpt4 key购买 nike

所以这就是发生的事情,我可以通过将画笔直接放入 Grid.Background 来将对象的背景设置为渐变。 <罢工>或设置Background="{StaticResource BackgroundGradient}" (我原以为这行得通,但我只是测试了它,它也使应用程序崩溃了),但是通过 Setter ( <Setter Property="Background" Value="{StaticResource BackgroundGradient}"> ) 设置它会使应用程序崩溃。

通过 Setter 设置它第一次工作,然后我关闭应用程序并复制/粘贴渐变几次并更改名称和颜色以制作我需要的其他渐变,之后每次设置 Setter 时它都会崩溃梯度。

这里是 Style 对象的相关代码:

<Style x:Key="MainBackground" TargetType="Panel">
<Setter Property="Background" Value="{StaticResource BackgroundGradient}"/>
</Style>

这是相应的渐变(通过在设计 View 中制作渐变并使用“转换为资源”生成:

<LinearGradientBrush x:Key="BackgroundGradient" EndPoint="0.5,1" StartPoint="0.5,0">
<LinearGradientBrush.RelativeTransform>
<CompositeTransform CenterY="0.5" CenterX="0.5" Rotation="-90"/>
</LinearGradientBrush.RelativeTransform>
<GradientStop Color="#9BC6C5"/>
<GradientStop Color="#BAD8D7" Offset="1"/>
</LinearGradientBrush>

如有任何帮助,我们将不胜感激。目前我唯一能让它起作用的方法是删除样式定义中对渐变的引用,但我真的不想在单个项目上设置渐变。

最佳答案

这是一个很常见的问题,你必须确保这个

<Style x:Key="MainBackground" TargetType="Panel">
<Setter Property="Background" Value="{StaticResource BackgroundGradient}"/>
</Style>

在此之后执行

<LinearGradientBrush x:Key="BackgroundGradient" EndPoint="0.5,1" StartPoint="0.5,0">
<LinearGradientBrush.RelativeTransform>
<CompositeTransform CenterY="0.5" CenterX="0.5" Rotation="-90"/>
</LinearGradientBrush.RelativeTransform>
<GradientStop Color="#9BC6C5"/>
<GradientStop Color="#BAD8D7" Offset="1"/>
</LinearGradientBrush>

如果您有 2 个或更多文件来设置此资源,请尝试在同一个文件中设置两种样式并确保在面板之前定义画笔,然后就可以了!所以继续在单独的文件中制作它并观察首先执行的文件。

关于c# - 将背景设置为指向 LinearGradientBrush 的 StaticResource 会使我的应用程序崩溃,有什么想法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13216818/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com