Hi,
sorry für den komischen Titel...
Ich möchte in meiner Anwendung die Icons von jetzt Benutzung der Schriftart FontAwesome ändern auf Icons von z.Bsp. materialdesignicons.com/tag/community
dazu habe ich ja dann zum Beispiel folgendes Icon:
Nun ist hier die Fill Eigenschaft festgelegt auf eine Statische Resource.
In meinem Button Style benutze ich ein ContentControl um das Icon anzuzeigen
im UserControl sieht das dann so aus:
Was nun, wenn ich aber jetzt den Button nicht in der vorgegeben Farbe haben möchte, sondern eine andere Farbe zuweisen möchte, ohne gleich alle anderen Button auch zu ändern.
Ich könnte natürlich hergehen und das Icon in 2 Farben erstellen.... gibt es eine bessere Möglichkeit?
sorry für den komischen Titel...
Ich möchte in meiner Anwendung die Icons von jetzt Benutzung der Schriftart FontAwesome ändern auf Icons von z.Bsp. materialdesignicons.com/tag/community
dazu habe ich ja dann zum Beispiel folgendes Icon:
XML-Quellcode
- <Viewbox x:Key="AboutIcon" Width="48" Height="48">
- <Canvas Width="24" Height="24">
- <Path Data="M13.5,4A1.5,1.5 0 0,0 12,5.5A1.5,1.5 0 0,0 13.5,7A1.5,1.5 0 0,0 15,5.5A1.5,1.5 0 0,0 13.5,4M13.14,8.77C11.95,8.87 8.7,11.46 8.7,11.46C8.5,11.61 8.56,11.6 8.72,11.88C8.88,12.15 8.86,12.17 9.05,12.04C9.25,11.91 9.58,11.7 10.13,11.36C12.25,10 10.47,13.14 9.56,18.43C9.2,21.05 11.56,19.7 12.17,19.3C12.77,18.91 14.38,17.8 14.54,17.69C14.76,17.54 14.6,17.42 14.43,17.17C14.31,17 14.19,17.12 14.19,17.12C13.54,17.55 12.35,18.45 12.19,17.88C12,17.31 13.22,13.4 13.89,10.71C14,10.07 14.3,8.67 13.14,8.77Z"
- Fill="{StaticResource CharBlueBrush}" />
- </Canvas>
- </Viewbox>
Nun ist hier die Fill Eigenschaft festgelegt auf eine Statische Resource.
In meinem Button Style benutze ich ein ContentControl um das Icon anzuzeigen
XML-Quellcode
- <Style x:Key="TestIconGrowButton" TargetType="{x:Type Button}" BasedOn="{StaticResource BaseStyle}">
- <Setter Property="WindowChrome.IsHitTestVisibleInChrome" Value="True" />
- <Setter Property="Background" Value="Transparent" />
- <Setter Property="BorderThickness" Value="0" />
- <Setter Property="Padding" Value="25" />
- <Setter Property="Margin" Value="0" />
- <Setter Property="Width" Value="{Binding ActualHeight, RelativeSource={RelativeSource Self}}" />
- <Setter Property="Template">
- <Setter.Value>
- <ControlTemplate TargetType="{x:Type ButtonBase}">
- <Border x:Name="border"
- BorderBrush="{TemplateBinding BorderBrush}"
- BorderThickness="{TemplateBinding BorderThickness}"
- Background="{TemplateBinding Background}"
- SnapsToDevicePixels="True">
- <Border.RenderTransform>
- <ScaleTransform />
- </Border.RenderTransform>
- <Border.RenderTransformOrigin>
- <Point X="0.5" Y="0.5" />
- </Border.RenderTransformOrigin>
- <Grid>
- <Viewbox>
- <ContentControl Content="{TemplateBinding Content}" />
- </Viewbox>
- </Grid>
- </Border>
- <ControlTemplate.Triggers>
- <EventTrigger RoutedEvent="MouseEnter">
- <BeginStoryboard>
- <Storyboard>
- <DoubleAnimation To="1.4" Duration="0:0:0.15" Storyboard.TargetName="border" Storyboard.TargetProperty="(RenderTransform).(ScaleTransform.ScaleX)" />
- <DoubleAnimation To="1.4" Duration="0:0:0.15" Storyboard.TargetName="border" Storyboard.TargetProperty="(RenderTransform).(ScaleTransform.ScaleY)" />
- </Storyboard>
- </BeginStoryboard>
- </EventTrigger>
- <EventTrigger RoutedEvent="MouseLeave">
- <BeginStoryboard>
- <Storyboard>
- <DoubleAnimation To="1" Duration="0:0:0.15" Storyboard.TargetName="border" Storyboard.TargetProperty="(RenderTransform).(ScaleTransform.ScaleX)" />
- <DoubleAnimation To="1" Duration="0:0:0.15" Storyboard.TargetName="border" Storyboard.TargetProperty="(RenderTransform).(ScaleTransform.ScaleY)" />
- </Storyboard>
- </BeginStoryboard>
- </EventTrigger>
- <Trigger Property="IsEnabled" Value="False">
- <Setter Property="Background" TargetName="border" Value="Transparent"/>
- </Trigger>
- </ControlTemplate.Triggers>
- </ControlTemplate>
- </Setter.Value>
- </Setter>
- </Style>
im UserControl sieht das dann so aus:
Was nun, wenn ich aber jetzt den Button nicht in der vorgegeben Farbe haben möchte, sondern eine andere Farbe zuweisen möchte, ohne gleich alle anderen Button auch zu ändern.
Ich könnte natürlich hergehen und das Icon in 2 Farben erstellen.... gibt es eine bessere Möglichkeit?
"Hier könnte Ihre Werbung stehen..."