我想在我的词典中将SolidColorBrush从我的窗口链接到另一个SolidColorBrush。我没有找到这样的东西,可能是不可能......
这是我" ResourceDictionary.xaml"
中的代码<SolidColorBrush x:Key="BrushBlueTransparent" Color="#33006D8F"/>
在我的窗口中,我想要一个这样的资源链接:
<SolidColorBrush x:Key="ControlColor" Color="{Binding Source={DynamicResource BrushEvasanOrange}}"/>
目前,这段代码不起作用......
我想使用此链接,因为我想在我的页面中使用此资源的多个&#34;&#34;如果颜色必须在未来中改变,那么用这种方式就可以很容易地改变颜色。
Brush资源的使用方式如下:
<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>
答案 0 :(得分:0)
听起来你的问题是HeaderedContentControl
忽略了它的BorderBrush
属性。有两种方法可以解决此问题:一种方法是将HeaderedContentControl
的{{1}}替换为显示内容边框的Template
,但这样做很麻烦。另一个是使用HeaderedContentControl
的子类,它已经有了你想要的模板(我们将最后到达那个)。
一个非常简单的选项是简单地在控件周围放置Border
,并将Margin
移动到Border
,这样橙色边框线就会位于边距内。在你的特定情况下,这不是正确的答案,但它是一个很好的一般答案“我如何在XAML中放置边框?”
<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>
但我想知道HeaderedContentControl
是否真的是你想要的。 HeaderedContentControl
是各种控件的基类,用于显示带标题的内容。子类更常用,我觉得你真正想要的是GroupBox
,这是其中一个子类。您只是按照HeaderedContentControl
:
<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>