wpf 动态边框样式不改变问题分析

邮差的信 提交于 2020-08-15 11:55:18

当wpf里设置边框的时候,如果是dynamicResource的话,有时候会不显示。

1.window里定义颜色,这时候不显示

<Window.Resources>
        <Color x:Key="red"
               R="255"
               G="0"
               B="0" A="255" />
        <Color x:Key="blue"
               R="0"
               G="0"
               B="255" A="255" />
    </Window.Resources>
    <Grid>
        <Border BorderThickness="20">
            <Border.Background>
                <SolidColorBrush Color="{DynamicResource red}" />
            </Border.Background>
            <Border.BorderBrush>
                <SolidColorBrush Color="{DynamicResource blue}" />
            </Border.BorderBrush>
        </Border>
       
    </Grid>

设计器里看到的结果如下:

 

 

但是运行起来,效果如下:

 

 让人很蛋疼,可能这就是动态样式的局限吧。

2.app。xaml里设置

<Application.Resources>
        <Color x:Key="red"
               R="255"
               G="0"
               B="0"
               A="255" />
        <Color x:Key="blue"
               R="0"
               G="0"
               B="255"
               A="255" /> 
    </Application.Resources>

设计器里如下:

 

 运行后如下:

 

 

结论:

使用dynamicResource最好在app里定义

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!