Wpf 通过在xaml中设置属性动态更改边框背景
我试图动态更改名为“Brush2”的边框背景属性,但出现以下错误 无法将类型为“System.Windows.Media.Color”的对象强制转换为类型 “System.Windows.Media.Brush”Wpf 通过在xaml中设置属性动态更改边框背景,wpf,xaml,Wpf,Xaml,我试图动态更改名为“Brush2”的边框背景属性,但出现以下错误 无法将类型为“System.Windows.Media.Color”的对象强制转换为类型 “System.Windows.Media.Brush” #7F605F5F #7F7E7E7E #7FFDFD #7fffff #BFFFFFFF #F2FFFFFF #FF6096E5 #FF9B7C35 #FFB0BAA1 #7F60605F 白色 您需要做的是将笔刷设置为类似solidcolorbrush对象的对象 构造函数接受一个
#7F605F5F
#7F7E7E7E
#7FFDFD
#7fffff
#BFFFFFFF
#F2FFFFFF
#FF6096E5
#FF9B7C35
#FFB0BAA1
#7F60605F
白色
您需要做的是将笔刷设置为类似solidcolorbrush对象的对象
构造函数接受一个颜色对象。您需要做的是将笔刷设置为类似solidcolorbrush对象的对象
构造函数接受一个颜色对象。以下代码可以工作,但我必须这样做:
Uri uri2 = new Uri("/Resources/DayModeTab2.xaml", UriKind.Relative);
ResourceDictionary resDict2 = Application.LoadComponent(uri2) as ResourceDictionary;
//Make some changes
MobileApp.Get().Resources.MergedDictionaries.Add(resDict2);
而且我糟糕的命名方案也导致了冲突,因为我在2个xaml文件中使用了0
<Border x:Name="BorderGlass" BorderThickness="3" CornerRadius="5,5,0,0" >
<Border.Background>
<SolidColorBrush Color="{DynamicResource Color2}" />
</Border.Background>
<Border.BorderBrush>
<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
<GradientStop Color="{DynamicResource Brush3}" Offset="0"/>
<GradientStop Color="{DynamicResource Brush4}" Offset="0.401"/>
<GradientStop Color="{DynamicResource Brush5}" Offset="0.254"/>
</LinearGradientBrush>
</Border.BorderBrush>
</Border>
以下代码有效,但我必须这样做:
Uri uri2 = new Uri("/Resources/DayModeTab2.xaml", UriKind.Relative);
ResourceDictionary resDict2 = Application.LoadComponent(uri2) as ResourceDictionary;
//Make some changes
MobileApp.Get().Resources.MergedDictionaries.Add(resDict2);
而且我糟糕的命名方案也导致了冲突,因为我在2个xaml文件中使用了0
<Border x:Name="BorderGlass" BorderThickness="3" CornerRadius="5,5,0,0" >
<Border.Background>
<SolidColorBrush Color="{DynamicResource Color2}" />
</Border.Background>
<Border.BorderBrush>
<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
<GradientStop Color="{DynamicResource Brush3}" Offset="0"/>
<GradientStop Color="{DynamicResource Brush4}" Offset="0.401"/>
<GradientStop Color="{DynamicResource Brush5}" Offset="0.254"/>
</LinearGradientBrush>
</Border.BorderBrush>
</Border>
我正试图用这段代码来实现这一点:我正试图用这段代码来实现这一点:这是非常糟糕的做法。你的颜色结构不应该被称为“刷”。你遇到的真正问题是,你试图为需要画笔的东西指定一个颜色结构(你认为它是画笔,因为它被命名为画笔)。这是非常糟糕的做法。你的颜色结构不应该被称为“刷”。您遇到的真正问题是,您试图将颜色结构(您认为它是笔刷,因为它被命名为笔刷)指定给需要笔刷的对象。