XAML .NET MAUI Изменить Image.Source, добавленное по тригеру, при выборе элемента CollectionView

Есть CollectionView в которой, в зависимости от сработавшего тригера, выводится изображение. Необходимо у выбранного элемента коллекции, используя VisualStateManager, менять изображение на противоположное учитываю выбранную тему приложения. Например:

  • если у элемента отображается изображение "pest_control_primary_dark.svg", то при выборе его необходимо заменить на
{AppThemeBinding Light=pest_control_primary_dark.svg, Dark=pest_control_primary.svg}
  • если у элемента отображается изображение "question_mark_primary_dark.svg", то при выборе его необходимо заменить на
{AppThemeBinding Light=question_mark_primary_dark.svg, Dark=question_mark_primary.svg}
 <CollectionView x:Name="supportList" Grid.Row="1" EmptyView="Новостей пока нет..." ItemsSource="{Binding AppSupportReportList}"
                 HorizontalOptions="FillAndExpand" VerticalOptions="FillAndExpand"
                 SelectionMode="Single">
     <CollectionView.ItemsLayout>
         <GridItemsLayout Span="1" Orientation="Vertical" VerticalItemSpacing="10" />
     </CollectionView.ItemsLayout>

     <CollectionView.ItemTemplate>
         <DataTemplate>
             <Border Stroke="{StaticResource PrimaryDark}" StrokeThickness="2"
                     BackgroundColor="Transparent" HeightRequest="80" Padding="10">
                 <Border.StrokeShape >
                     <RoundRectangle CornerRadius="15" />
                 </Border.StrokeShape>

                 <VisualStateManager.VisualStateGroups>
                     <VisualStateGroup Name="CommonStates">
                         <VisualState Name="Normal" />
                         <VisualState Name="Selected">
                             <VisualState.Setters>
                                 <Setter Property="BackgroundColor" Value="{AppThemeBinding Light={StaticResource Primary}, Dark={StaticResource PrimaryDark}}" />
                                 <Setter Property="Stroke" Value="{AppThemeBinding Light={StaticResource PrimaryDark}, Dark={StaticResource Primary}}" />
                                 <Setter TargetName="Group" Property="Label.TextColor" 
                                         Value="{AppThemeBinding Light={StaticResource PrimaryDark}, Dark={StaticResource Primary}}" />
                                 <Setter TargetName="Status" Property="Label.TextColor" 
                                         Value="{AppThemeBinding Light={StaticResource PrimaryDark}, Dark={StaticResource Primary}}" />
                                 <Setter TargetName="DateOfEvent" Property="Label.TextColor" 
                                         Value="{AppThemeBinding Light={StaticResource PrimaryDark}, Dark={StaticResource Primary}}" />
                                 <Setter TargetName="Image" Property="Image.Source" Value="{AppThemeBinding Light=other_admission_primary_dark.svg, Dark=other_admission_primary.svg}" />
                             </VisualState.Setters>
                         </VisualState>
                     </VisualStateGroup>
                 </VisualStateManager.VisualStateGroups>
                 
                 <Grid ColumnDefinitions="Auto,*" RowDefinitions="Auto,*,Auto">
                     <Image Grid.Column="0" Grid.RowSpan="3" x:Name="Image" WidthRequest="70" HeightRequest="70" HorizontalOptions="Start" Margin="0,0,10,0">
                         <Image.Triggers>
                             <DataTrigger TargetType="Image" 
                                      Binding="{Binding Source={x:Reference Group}, Path=Text}" Value="Ошибка приложения">
                                 <Setter Property="Source" Value="pest_control_primary_dark.svg" />
                             </DataTrigger>
                             <DataTrigger TargetType="Image"
                                      Binding="{Binding Source={x:Reference Group}, Path=Text}" Value="Вопрос о приложении">
                                 <Setter Property="Source" Value="question_mark_primary_dark.svg" />
                             </DataTrigger>
                             <DataTrigger TargetType="Image"
                                      Binding="{Binding Source={x:Reference Group}, Path=Text}" Value="Предложить идею">
                                 <Setter Property="Source" Value="emoji_objects_primary_dark.svg" />
                             </DataTrigger>
                             <DataTrigger TargetType="Image"
                                      Binding="{Binding Source={x:Reference Group}, Path=Text}" Value="Другая">
                                 <Setter Property="Source" Value="other_admission_primary_dark.svg" />
                             </DataTrigger>
                         </Image.Triggers>
                     </Image>
                     <Label Grid.Column="1" Grid.Row="0" x:Name="Group" Text="{Binding Group}" FontFamily="MontserratBold" 
                            TextColor="{StaticResource PrimaryDark}" HorizontalTextAlignment="Start" LineBreakMode="TailTruncation" />

                     <FlexLayout Grid.Column="1" Grid.Row="2" Direction="Row" JustifyContent="SpaceBetween">
                         <Label x:Name="Status" Text="{Binding Status}" FontFamily="MontserratBold" TextTransform="Uppercase" 
                                TextColor="{StaticResource PrimaryDark}" />
                         <Label x:Name="DateOfEvent" Text="{Binding DateOfEvent, StringFormat='{0:dd.MM.yyyy HH:mm:ss}'}" FontFamily="MontserratRegular"
                                TextColor="{StaticResource PrimaryDark}" HorizontalTextAlignment="End" />
                     </FlexLayout>
                 </Grid>
             </Border>
         </DataTemplate>
     </CollectionView.ItemTemplate>
 </CollectionView>

Ответы (0 шт):