0

我有一个 UWP 应用(在 Windows/Microsoft Store 中发布),我想添加一个基于 UWP 社区工具包示例应用的扩展器,但想对其进行自定义。我有这个代码:

<controlsToolkit:Expander x:Name="Expander1"
                          Margin="0,0,0,10" 
                          Header="Details"
                          IsExpanded="False"
                          ExpandDirection="Down"
                          RelativePanel.AlignHorizontalCenterWithPanel="True"
                          RelativePanel.AlignVerticalCenterWithPanel="True"
                          Foreground="Gray"
                          BorderThickness="2">
    <controlsToolkit:Expander.BorderBrush>
        <SolidColorBrush Color="Gray" Opacity="0.4"/>
    </controlsToolkit:Expander.BorderBrush>
        <TextBlock HorizontalAlignment="Center"
                   TextWrapping="Wrap"
                   Text="Details Example"
                   VerticalAlignment="Center"/>
</controlsToolkit:Expander>

我希望扩展器按钮有一个灰色边框,但我不知道为什么没有出现该边框:

在此处输入图像描述

当我点击我的扩展器时,我希望背景变灰而不是这种蓝色,但我不知道我是怎么做到的:

在此处输入图像描述

4

2 回答 2

2

看起来 Expander 不支持 BorderBrush 或 BorderThicknes 样式。我提交了一个问题一个 PR来解决这个问题。

该控件将尊重 Background 属性并将其应用于 Header 和 Content。但是,用于 Header 的 ToggleButton 确实具有在选中(也称为展开)时应用系统颜色(强调色)的样式。

您可以通过向扩展器添加资源来修改标题颜色

<controls:Expander.Resources>
    <SolidColorBrush x:Key="SystemControlHighlightAccentBrush" Color="Red"/>
</controls:Expander.Resources>

或者您可以重新设置控件的样式以更改 ToggleButton 样式以在选中时不更改背景颜色

于 2017-10-31T21:33:48.010 回答
0

查看扩展器控件模板,将其添加到您的页面/应用程序资源并进行调整。 https://github.com/Microsoft/UWPCommunityToolkit/blob/master/Microsoft.Toolkit.Uwp.UI.Controls/Expander/Expander.xaml

我会尽快看看你面临的问题。

于 2017-10-31T18:39:11.043 回答