触发样式会更改元素的所有样式

时间:2018-07-07 18:00:00

标签: c# wpf xaml material-design-in-xaml

我正在尝试通过使用样式触发器来更改Expanders的背景颜色,它可以工作,但它会更改Expander的所有原始样式。

我在XAML扩展器中使用Material设计,当我尝试更改Expander的背景颜色时,它会完全更改Expander样式。 请帮助我在使用样式触发器时如何仅更改一种样式而不更改元素的所有样式。

样式触发器

<Style x:Key="ExpenderColor" TargetType="Expander">
    <Setter Property="Background" Value="black"/>
    <Style.Triggers>
        <Trigger Property="IsMouseOver" Value="True">
            <Setter Property="Background" Value="Aqua"/>
        </Trigger>
    </Style.Triggers>
</Style>

应用样式

 <Expander Style="{DynamicResource ExpenderColor}" Margin="0 5 0 0" 
           HorizontalAlignment="Stretch">
    <Expander.Header>
         <StackPanel Orientation="Horizontal">
            <materialDesign:PackIcon Kind="Home" />
            <TextBlock Margin="15 0 0 0">DASHBOARD</TextBlock>
         </StackPanel>
    </Expander.Header>
 </Expander>

图片

原始材料设计扩展器
origional meterial design expander

添加样式属性后
After adding style property

1 个答案:

答案 0 :(得分:2)

尝试将df = pd.DataFrame({ 'User':['101','101','102','102','102'], 'Product':['x','x','x','z','z'], 'Country':['India,Brazil','India','India,Brazil,Japan','India,Brazil','Brazil'] }) 设置为您的 ExpenderColor 样式。

BasedOn="{StaticResource {x:Type Expander}}"