Addition in a custom theme - Lacro59/playnite-thememodifier-plugin GitHub Wiki

You can see a example with https://github.com/Lacro59/playnite-defaultextend-theme.

Differents resources disponible with PluginSettings

The SourceName for the plugin is ThemeModifier

Plugin settings

CustomOption Type Default Description
EnableIntegrationIcon bool false Parameters to display or not the plugin custom icon shape.

Integration of plugin elements with ContentControl

Visibility

Visibility according to the presence of the plugin

<StackPanel Visibility="{PluginStatus Plugin=<PluginId>, Status=Installed}">
</StackPanel>

Visibility depending the element visibility parameter in plugin settings

If the item is not enabled in the plugin settings, it is collapsed.

Visibility according to the visibility of the element

<StackPanel Visibility="{Binding ElementName=<SourceName>_<ElementName>, Path=Visibility}">
</StackPanel>

Plugin elements

ViewItem (supporting the different options in the plugin settings)

<Grid Grid.Column="0" Grid.RowSpan="2"
      Name="PART_GridImageContener"
      Height="{Settings DetailsViewListIconSize}"
      Margin="0,0,8,0"
      VerticalAlignment="Center"
      Tag="{PluginSettings Plugin=ThemeModifier, Path=EnableIntegrationIcon}">
    <Grid>
        <Grid.Style>
            <Style TargetType="{x:Type Grid}">
                <Setter Property="Visibility" Value="Visible" />
                <Style.Triggers>
                    <DataTrigger Binding="{Binding ElementName=PART_GridImageContener, Path=Tag}" Value="True">
                        <Setter Property="Visibility" Value="Collapsed" />
                    </DataTrigger>
                </Style.Triggers>
            </Style>
        </Grid.Style>
		
        <Image Name="PART_ImageIcon" RenderOptions.BitmapScalingMode="Fant" />
    </Grid>

    <ContentControl x:Name="ThemeModifier_PluginIcon">
        <ContentControl.Style>
            <Style TargetType="{x:Type ContentControl}">
                <Setter Property="Visibility" Value="Collapsed" />
                <Style.Triggers>
                    <DataTrigger Binding="{Binding ElementName=PART_GridImageContener, Path=Tag}" Value="True">
                        <Setter Property="Visibility" Value="Visible" />
                    </DataTrigger>
                </Style.Triggers>
            </Style>
        </ContentControl.Style>
    </ContentControl>
</Grid>

⚠️ **GitHub.com Fallback** ⚠️