自定义扩展器 - UWP App

时间:2017-10-31 18:08:54

标签: xaml uwp uwp-xaml windows-community-toolkit

我有一个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>

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

enter image description here

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

enter image description here

2 个答案:

答案 0 :(得分:1)

看起来不像Expander尊重BorderBrush或BorderThicknes样式。我提交了an issuea PR来解决此问题。

控件将遵循Background属性并将其应用于Header和Content。但是,用于标题的ToggleButton确实具有一种样式,可以在检查(也称为展开)时应用系统颜色(强调颜色)。

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

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

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

答案 1 :(得分:0)

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

我将很快看一下您面临的问题。