首页 > 解决方案 > 在 Xamarin 中有条件地更改元素的样式类

问题描述

我正在尝试根据变量值更改 Frame 的类。我尝试更改“class”、“ClassId”和“StyleClass”属性。我也尝试过使用触发器,但最后我不得不以这种方式进行更改。有没有办法让它更优雅?如果我需要有条件地更改更多样式怎么办?

我试过这个:

<Frame x:Name="FilaListaEventos" class="{Binding Alerts}">

和这个:

<Frame x:Name="FilaListaEventos" StyleClass="{Binding Alerts}">

和这个:

<Frame x:Name="FilaListaEventos" ClassId="{Binding Alerts}">

并且还尝试了这个:

<Frame StyleClass="ListRow">
   <Frame.Triggers>
      <DataTrigger TargetType="Frame" Binding="{Binding Alerts}" Value="True">
         <Setter Property="ClassId" Value="ListRowAlerts" />
      </DataTrigger>
   </Frame.Triggers>
   ...

但最后我是这样理解的:

<Frame StyleClass="ListRow">
   <Frame.Triggers>
      <DataTrigger TargetType="Frame" Binding="{Binding Alerts}" Value="True">
         <Setter Property="BackgroundColor" Value="Yellow" />
      </DataTrigger>
   </Frame.Triggers>
   ...

标签: xamarin.formstriggersstyles

解决方案


推荐阅读