Xamarin Forms:如何在 Expander 打开或关闭时更改背景颜色和文本颜色?
Xamarin Forms: How to change background color and textcolor when Expander is on or off?
我的Expander Header
代码:
<Expander.Header>
<Frame
BackgroundColor="White"">
<StackLayout>
<Label
TextColor="Black"/>
<Image />
</StackLayout>
</Frame>
</Expander.Header>
当展开器打开时,我需要更改框架的背景颜色(为蓝色)和标签的文本颜色(为白色)。当扩展器折叠时,我需要恢复到初始颜色。使用 DataTrigger
和 IsExpanded
属性我可以更改图像源,但不知道如何更改颜色。
诸如此类:
<Frame BackgroundColor="White">
<Frame.Triggers>
<DataTrigger
Binding="{Binding Source={RelativeSource AncestorType={x:Type Expander}}, Path=IsExpanded}"
TargetType="Frame"
Value="True">
<Setter Property="BackgroundColor" Value="Black" />
</DataTrigger>
</Frame.Triggers>
<StackLayout>
<Label TextColor="Black">
<Label.Triggers>
<DataTrigger
Binding="{Binding Source={RelativeSource AncestorType={x:Type Expander}}, Path=IsExpanded}"
TargetType="Label"
Value="True">
<Setter Property="TextColor" Value="White" />
</DataTrigger>
</Label.Triggers>
</Label>
<Image />
</StackLayout>
</Frame>
或者你也可以绑定到另一个控件的属性,请check the docs。
我的Expander Header
代码:
<Expander.Header>
<Frame
BackgroundColor="White"">
<StackLayout>
<Label
TextColor="Black"/>
<Image />
</StackLayout>
</Frame>
</Expander.Header>
当展开器打开时,我需要更改框架的背景颜色(为蓝色)和标签的文本颜色(为白色)。当扩展器折叠时,我需要恢复到初始颜色。使用 DataTrigger
和 IsExpanded
属性我可以更改图像源,但不知道如何更改颜色。
诸如此类:
<Frame BackgroundColor="White">
<Frame.Triggers>
<DataTrigger
Binding="{Binding Source={RelativeSource AncestorType={x:Type Expander}}, Path=IsExpanded}"
TargetType="Frame"
Value="True">
<Setter Property="BackgroundColor" Value="Black" />
</DataTrigger>
</Frame.Triggers>
<StackLayout>
<Label TextColor="Black">
<Label.Triggers>
<DataTrigger
Binding="{Binding Source={RelativeSource AncestorType={x:Type Expander}}, Path=IsExpanded}"
TargetType="Label"
Value="True">
<Setter Property="TextColor" Value="White" />
</DataTrigger>
</Label.Triggers>
</Label>
<Image />
</StackLayout>
</Frame>
或者你也可以绑定到另一个控件的属性,请check the docs。