C# 尝试将SolidColorBrush资源应用于HeaderedContentControl边框笔刷
我想将窗口中的SolidColorBrush链接到字典中的另一个SolidColorBrush。我没有找到像这样的东西,也许这是不可能的 以下是我的“ResourceDictionary.xaml”中的代码C# 尝试将SolidColorBrush资源应用于HeaderedContentControl边框笔刷,c#,wpf,xaml,solidcolorbrush,C#,Wpf,Xaml,Solidcolorbrush,我想将窗口中的SolidColorBrush链接到字典中的另一个SolidColorBrush。我没有找到像这样的东西,也许这是不可能的 以下是我的“ResourceDictionary.xaml”中的代码 在我的windows中,我需要一个指向此资源的链接,如下所示: <SolidColorBrush x:Key="ControlColor" Color="{Binding Source={DynamicResource BrushEvasanOrange}}"/> 现在
在我的windows中,我需要一个指向此资源的链接,如下所示:
<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>
听起来您的问题是
HeaderedContentControl
忽略了它的BorderBrush
属性。有两种方法可以解决此问题:一种是将HeaderedContentControl
的模板
替换为在内容周围显示边框的模板,但这会带来很多麻烦。另一种方法是使用HeaderedContentControl
的子类,该子类已经有了您想要的模板(我们将在最后讨论)
一个非常简单的选项是简单地在控件周围放置边框
,并将边距
移动到边框
,这样橙色边框线将位于边距内。在您的具体案例中,这不是正确的答案,但对于“如何在XAML中为事物设置边界”来说,这是一个很好的一般性答案
你的代码无法工作。为什么不将字典作为合并字典嵌入到app.xaml中呢。然后,字典中的所有资源都是应用程序的全局资源,您可以从任何其他应用程序引用它们。xaml(窗口、页面、用户控制)将颜色定义为资源:
\33006D8F
然后将其用于两个笔刷:
@jure:Thnaks作为您的答案,但实际上是我的“ResourceDictionary.xaml”已经是一个可以在每个xaml中使用的合并词汇表。我只想在用户控件中使用指向其他颜色的链接来实现许多“HeaderedContentControl”。首先,如果我必须更改所有“HeaderedContentControl”的颜色,我将很容易更改此链接。@EdPlunkett:谢谢你的回答,但在我的解决方案中它不起作用。我将您的代码示例用于“HeaderedContentControl/BorderBrush”,并且视图中没有颜色。。。这是一个好主意,所以可能是我犯了一个错误,或者在这个例子中,在不能工作^^@StefG中,你能发布你尝试过的吗?什么不管用?非常感谢Ed Plunkett,它可以与GroupBox一起使用,即使是我的风格^^我以前不知道GroupBox,我唯一要做的就是用它取代我的HeaderedContentControl。谢谢;D@StefG很高兴听到这个消息!
<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>
<Border
BorderBrush="{StaticResource BrushEncadre}"
BorderThickness="1"
Margin="0,20,0,0"
>
<HeaderedContentControl
x:Name="_demandeur"
Padding="10"
Header="{x:Static p:Resources.EV_Demandeur}"
>
<WrapPanel
Margin="0"
Orientation="Horizontal"
HorizontalAlignment="Left" >
<TextBlock
TextWrapping="Wrap"
FontWeight="Normal"
Text="text"
/>
</WrapPanel>
</HeaderedContentControl>
</Border>
<GroupBox
x:Name="_demandeur"
Padding="10"
Margin="0,20,0,0"
Header="{x:Static p:Resources.EV_Demandeur}"
BorderBrush="{StaticResource BrushEncadre}"
BorderThickness="1"
>
<WrapPanel
Margin="0"
Orientation="Horizontal"
HorizontalAlignment="Left" >
<TextBlock
TextWrapping="Wrap"
FontWeight="Normal"
Text="text"
/>
</WrapPanel>
</GroupBox>