【发布时间】:2016-01-08 15:51:08
【问题描述】:
我想将我的窗口中的 SolidColorBrush 链接到我的字典中的另一个 SolidColorBrush。我没有找到类似的东西,可能是不可能的......
这是我的“ResourceDictionary.xaml”中的代码
<SolidColorBrush x:Key="BrushBlueTransparent" Color="#33006D8F"/>
在我的窗口中,我想要一个指向此资源的链接,如下所示:
<SolidColorBrush x:Key="ControlColor" Color="{Binding Source={DynamicResource BrushEvasanOrange}}"/>
目前,此代码不起作用...
我想使用这个链接,因为我想在我的页面中以多个“”使用这个资源,如果将来必须改变颜色,用这种方式很容易改变。
画笔资源是这样使用的:
<HeaderedContentControl
x:Name="_demandeur"
BorderBrush="{DynamicResource BrushEncadre}"
BorderThickness="1"
Padding="10"
Margin="0,20,0,0"
Header="{x:Static p:Resources.EV_Demandeur}"
>
<WrapPanel
Margin="0"
Orientation="Horizontal"
HorizontalAlignment="Left"
>
<TextBlock
TextWrapping="Wrap"
FontWeight="Normal"
Text="text"
/>
</WrapPanel>
</HeaderedContentControl>
【问题讨论】:
-
您的代码不起作用。为什么不将字典作为合并字典嵌入到您的 app.xaml 中。然后字典中的所有资源对您的应用都是全局的,您可以从任何其他 .xaml(窗口、页面、用户控件)中引用它们
-
将颜色定义为资源:
<Color x:Key="MyBlue">#33006D8F</Color>然后将其用于两个画笔:<SolidColorBrush x:Key="BrushBlueTransparent" Color="{StaticResource MyBlue}"/> -
@jure :感谢您的回答,但实际上我的“ResourceDictionary.xaml”已经是可以在每个xaml中使用的合并字典。我只想在 UserControl 中使用指向另一种颜色的链接来获取大量“HeaderedContentControl”,如果我必须更改所有这些“HeaderedContentControl”的颜色,我将很容易更改此链接。
-
@EdPlunkett:感谢您的回答,但它在我的解决方案中不起作用。我将您的代码示例用于“HeaderedContentControl/BorderBrush”,并且视图中没有颜色...这是个好主意,所以可能是我犯了错误,或者在这种情况下无法工作^^
-
@StefG 你能发布你试过的东西吗?有什么不好的地方?
标签: c# wpf xaml solidcolorbrush