Gradient with a Shape - wpf

I need to create a background for an element that looks like the following
Is it possible to implement this with gradients or some other technique or will I have to use an image file?
It is only the background that I am having trouble with, not the drop shadow effect.

If you want to do it with just one Element, then something like;
<Border Width="300" Height="75"
BorderThickness="3"
CornerRadius="5">
<Border.Background>
<LinearGradientBrush EndPoint="0.5,1" MappingMode="RelativeToBoundingBox" StartPoint="0.5,0">
<GradientStop Color="#FFC4C3C3" Offset="0.429"/>
<GradientStop Color="#FFE9E9E9" Offset="0.652"/>
</LinearGradientBrush>
</Border.Background>
<Border.BorderBrush>
<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
<GradientStop Color="#FFE9E9E9" Offset="0"/>
<GradientStop Color="#FFB9B6B6" Offset="1"/>
</LinearGradientBrush>
</Border.BorderBrush>
<Border.Effect>
<DropShadowEffect Direction="280" Color="#FF515050" BlurRadius="2"/>
</Border.Effect>
</Border>
If you want your curve in the gradient, then something like;
<Grid Width="300" Height="75">
<Border
BorderThickness="3"
CornerRadius="5">
<Border.Background>
<LinearGradientBrush EndPoint="0.5,1" MappingMode="RelativeToBoundingBox" StartPoint="0.5,0">
<GradientStop Color="#FFC4C3C3" Offset="0.429"/>
<GradientStop Color="#FFE9E9E9" Offset="0.652"/>
</LinearGradientBrush>
</Border.Background>
<Border.BorderBrush>
<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
<GradientStop Color="#FFE9E9E9" Offset="0"/>
<GradientStop Color="#FFB9B6B6" Offset="1"/>
</LinearGradientBrush>
</Border.BorderBrush>
<Border.Effect>
<DropShadowEffect Direction="280" Color="#FF515050" BlurRadius="2"/>
</Border.Effect>
</Border>
<Path Data="M0,0 L300,0 L300,40.768158 L296.83832,41.189522 C253.5976,46.794456 203.45944,50.000004 150,50.000004 C96.540565,50.000004 46.402409,46.794456 3.1617098,41.189522 L0,40.768158 z" Fill="#FFDADADA" Margin="3" Height="50" VerticalAlignment="Top" Stretch="Fill" UseLayoutRounding="False"/>
</Grid>
You'll of course need to play with your colors and sizes to get exactly what you want but this should hopefully be a good place to start for you. Cheers

Related

How do I add this ellipse template to my button border?

I'm aware there are probably similar questions to this one but I have no idea how to sort this out. I'm rather new to XAML and have written the following:
<Window.Resources>
<ControlTemplate x:Key="ButtonTemplate">
<Ellipse Height="300" StrokeThickness="2" Width="300" >
<Ellipse.Fill>
<SolidColorBrush Color="white" Opacity="0"/>
</Ellipse.Fill>
<Ellipse.Stroke>
<LinearGradientBrush EndPoint="1,1" StartPoint="0,0">
<GradientStop Color="Red" Offset="0.1"/>
<GradientStop Color="Orange" Offset="0.35"/>
<GradientStop Color="SeaGreen" Offset="0.7"/>
<GradientStop Color="DarkBlue" Offset="0.95"/>
</LinearGradientBrush>
</Ellipse.Stroke>
</Ellipse>
</ControlTemplate>
</Window.Resources>
<Grid>
<Button Height="320" Width="320" Margin="200,100,200,100" Background="White" BorderThickness="0">
<Button.Foreground>
<LinearGradientBrush StartPoint="0,0" EndPoint="1,1">
<GradientStop Color="Crimson" Offset="0.1" />
<GradientStop Color="SeaGreen" Offset="0.9" />
</LinearGradientBrush>
</Button.Foreground>
<Button.Content>
<TextBlock FontSize="30">TEST BUTTON</TextBlock>
</Button.Content>
</Button>
</Grid>
Putting the circle in a template seems to be the universally agreed way to start going about getting a circular border on the button, but nothing seems to work from there for me. I've left the template disconnected from the button here because it doesn't work, rather it seems to just overlay a solid circle on top of what is otherwise a working button. Can someone help me out?
You should specify the TargetType and add a ContentPresenter to the ControlTemplate:
<ControlTemplate x:Key="ButtonTemplate" TargetType="Button">
<Grid>
<Ellipse Height="300" StrokeThickness="2" Width="300" >
<Ellipse.Fill>
<SolidColorBrush Color="White" Opacity="0"/>
</Ellipse.Fill>
<Ellipse.Stroke>
<LinearGradientBrush EndPoint="1,1" StartPoint="0,0">
<GradientStop Color="Red" Offset="0.1"/>
<GradientStop Color="Orange" Offset="0.35"/>
<GradientStop Color="SeaGreen" Offset="0.7"/>
<GradientStop Color="DarkBlue" Offset="0.95"/>
</LinearGradientBrush>
</Ellipse.Stroke>
</Ellipse>
<ContentPresenter Focusable="False" HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"
Margin="{TemplateBinding Padding}" RecognizesAccessKey="True"
SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}"
VerticalAlignment="{TemplateBinding VerticalContentAlignment}"/>
</Grid>
</ControlTemplate>
And don't forget to apply the custom template by setting the Template property of the Button:
<Button Height="320" Width="320" Background="White" BorderThickness="0"
Template="{StaticResource ButtonTemplate}">
<Button.Foreground>
<LinearGradientBrush StartPoint="0,0" EndPoint="1,1">
<GradientStop Color="Crimson" Offset="0.1" />
<GradientStop Color="SeaGreen" Offset="0.9" />
</LinearGradientBrush>
</Button.Foreground>
<Button.Content>
<TextBlock FontSize="30">TEST BUTTON</TextBlock>
</Button.Content>
</Button>

How to change the colour of progressbar in WPF without loosing its style?

I want to change the colour of progress bar in WPF. When I change the colour, it loses its style. How can one change colour keeping windows default style?
Override the control template for the progress bar
This generates XAML code like:
<ProgressBar.Resources>
<ControlTemplate x:Key="ProgressBarControlTemplate1" TargetType="{x:Type ProgressBar}">
<Grid x:Name="TemplateRoot" SnapsToDevicePixels="True">
<Rectangle Fill="{TemplateBinding Background}" RadiusY="2" RadiusX="2"/>
<Border CornerRadius="2" Margin="1">
<Border.Background>
<LinearGradientBrush EndPoint="0,1" StartPoint="0,0">
<GradientStop Color="#50FFFFFF" Offset="0.5385"/>
<GradientStop Color="Transparent" Offset="0.5385"/>
</LinearGradientBrush>
</Border.Background>
</Border>
<Border BorderBrush="#80FFFFFF" BorderThickness="1,0,1,1" Margin="1">
<Border.Background>
<LinearGradientBrush EndPoint="0,1" StartPoint="0,0">
<GradientStop Color="#80FFFFFF" Offset="0.05"/>
<GradientStop Color="Transparent" Offset="0.25"/>
</LinearGradientBrush>
</Border.Background>
</Border>
<Rectangle x:Name="PART_Track" Margin="1"/>
<Decorator x:Name="PART_Indicator" HorizontalAlignment="Left" Margin="1">
<Grid x:Name="Foreground">
<Rectangle x:Name="Indicator" Fill="{TemplateBinding Foreground}"/>
<Grid x:Name="Animation" ClipToBounds="True">
<Rectangle x:Name="PART_GlowRect" HorizontalAlignment="Left" Margin="-100,0,0,0" Width="100">
<Rectangle.Fill>
<LinearGradientBrush EndPoint="1,0" StartPoint="0,0">
<GradientStop Color="Transparent" Offset="0"/>
<GradientStop Color="#60FFFFFF" Offset="0.4"/>
<GradientStop Color="#60FFFFFF" Offset="0.6"/>
<GradientStop Color="Transparent" Offset="1"/>
</LinearGradientBrush>
</Rectangle.Fill>
</Rectangle>
</Grid>
<Grid x:Name="Overlay">
<Grid.ColumnDefinitions>
<ColumnDefinition MaxWidth="15"/>
<ColumnDefinition Width="0.1*"/>
<ColumnDefinition MaxWidth="15"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition/>
<RowDefinition/>
</Grid.RowDefinitions>
<Rectangle x:Name="LeftDark" Margin="1,1,0,1" RadiusY="1" RadiusX="1" Grid.RowSpan="2">
<Rectangle.Fill>
<LinearGradientBrush EndPoint="1,0" StartPoint="0,0">
<GradientStop Color="#0C000000" Offset="0"/>
<GradientStop Color="#20000000" Offset="0.3"/>
<GradientStop Color="#00000000" Offset="1"/>
</LinearGradientBrush>
</Rectangle.Fill>
</Rectangle>
<Rectangle x:Name="RightDark" Grid.Column="2" Margin="0,1,1,1" RadiusY="1" RadiusX="1" Grid.RowSpan="2">
<Rectangle.Fill>
<LinearGradientBrush EndPoint="1,0" StartPoint="0,0">
<GradientStop Color="#00000000" Offset="0"/>
<GradientStop Color="#20000000" Offset="0.7"/>
<GradientStop Color="#0C000000" Offset="1"/>
</LinearGradientBrush>
</Rectangle.Fill>
</Rectangle>
<Rectangle x:Name="LeftLight" Grid.Column="0" Grid.Row="2">
<Rectangle.Fill>
<RadialGradientBrush RadiusY="1" RadiusX="1">
<RadialGradientBrush.RelativeTransform>
<MatrixTransform Matrix="1,0,0,1,0.5,0.5"/>
</RadialGradientBrush.RelativeTransform>
<GradientStop Color="#60FFFFC4" Offset="0"/>
<GradientStop Color="#00FFFFC4" Offset="1"/>
</RadialGradientBrush>
</Rectangle.Fill>
</Rectangle>
<Rectangle x:Name="CenterLight" Grid.Column="1" Grid.Row="2">
<Rectangle.Fill>
<LinearGradientBrush EndPoint="0,0" StartPoint="0,1">
<GradientStop Color="#60FFFFC4" Offset="0"/>
<GradientStop Color="#00FFFFC4" Offset="1"/>
</LinearGradientBrush>
</Rectangle.Fill>
</Rectangle>
<Rectangle x:Name="RightLight" Grid.Column="2" Grid.Row="2">
<Rectangle.Fill>
<RadialGradientBrush RadiusY="1" RadiusX="1">
<RadialGradientBrush.RelativeTransform>
<MatrixTransform Matrix="1,0,0,1,-0.5,0.5"/>
</RadialGradientBrush.RelativeTransform>
<GradientStop Color="#60FFFFC4" Offset="0"/>
<GradientStop Color="#00FFFFC4" Offset="1"/>
</RadialGradientBrush>
</Rectangle.Fill>
</Rectangle>
<Border x:Name="Highlight1" Grid.ColumnSpan="3" Grid.RowSpan="2">
<Border.Background>
<LinearGradientBrush EndPoint="0,1" StartPoint="0,0">
<GradientStop Color="#90FFFFFF" Offset="0.5385"/>
<GradientStop Color="Transparent" Offset="0.5385"/>
</LinearGradientBrush>
</Border.Background>
</Border>
<Border x:Name="Highlight2" Grid.ColumnSpan="3" Grid.RowSpan="2">
<Border.Background>
<LinearGradientBrush EndPoint="0,1" StartPoint="0,0">
<GradientStop Color="#80FFFFFF" Offset="0.05"/>
<GradientStop Color="Transparent" Offset="0.25"/>
</LinearGradientBrush>
</Border.Background>
</Border>
</Grid>
</Grid>
</Decorator>
<Border BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" CornerRadius="2"/>
</Grid>
<ControlTemplate.Triggers>
<Trigger Property="Orientation" Value="Vertical">
<Setter Property="LayoutTransform" TargetName="TemplateRoot">
<Setter.Value>
<RotateTransform Angle="-90"/>
</Setter.Value>
</Setter>
</Trigger>
<Trigger Property="IsIndeterminate" Value="True">
<Setter Property="Visibility" TargetName="LeftDark" Value="Collapsed"/>
<Setter Property="Visibility" TargetName="RightDark" Value="Collapsed"/>
<Setter Property="Visibility" TargetName="LeftLight" Value="Collapsed"/>
<Setter Property="Visibility" TargetName="CenterLight" Value="Collapsed"/>
<Setter Property="Visibility" TargetName="RightLight" Value="Collapsed"/>
<Setter Property="Visibility" TargetName="Indicator" Value="Collapsed"/>
</Trigger>
<!--<Trigger Property="IsIndeterminate" Value="False">
<Setter Property="Background" TargetName="Animation" Value="#80B5FFA9"/>
</Trigger>-->
</ControlTemplate.Triggers>
</ControlTemplate>
</ProgressBar.Resources>
Do the changes in template in case you need to change defaults
Define a data trigger and use setter to change the "foreground" property

WPF drawing using a RadialGradientBrush type effect?

Using a RadialGradientBrush is simple and allows a center colour to merge into an outer colour. This works fine as a brush for filling the inside of a Rectangle or Border. I want to achieve the effect of applying that brush as if it were a pen and apply it as the Border.BorderBrush. So the center of the border would be dark and away from the border it would fade away.
Another way to describe it is the shadow you see around top level windows on Windows Vista or Windows 7. Close to the window border the shadow is dark and the further away you go from the window the more the shadow fades away. Well I want to draw a Border in a similar way.
I cannot find any way to achieve this at the moment, using either the RadialGradientBrush or the LinearGradientBrush. Surely it must be possible? Any ideas?
You could achieve an effect like this
by placing your content in the center (cell 1,1) of a 3x3 Grid like this:
<Grid>
<Grid.Resources>
<Color x:Key="InnerColor">#FF000000</Color>
<Color x:Key="OuterColor">#FFFFFFFF</Color>
</Grid.Resources>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="20"/>
<ColumnDefinition />
<ColumnDefinition Width="20"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="20"/>
<RowDefinition/>
<RowDefinition Height="20"/>
</Grid.RowDefinitions>
<Rectangle Grid.Column="1" Grid.Row="0">
<Rectangle.Fill>
<LinearGradientBrush StartPoint="0,0" EndPoint="0,1">
<GradientStop Offset="0" Color="{StaticResource OuterColor}"/>
<GradientStop Offset="1" Color="{StaticResource InnerColor}"/>
</LinearGradientBrush>
</Rectangle.Fill>
</Rectangle>
<Rectangle Grid.Column="1" Grid.Row="2">
<Rectangle.Fill>
<LinearGradientBrush StartPoint="0,0" EndPoint="0,1">
<GradientStop Offset="0" Color="{StaticResource InnerColor}"/>
<GradientStop Offset="1" Color="{StaticResource OuterColor}"/>
</LinearGradientBrush>
</Rectangle.Fill>
</Rectangle>
<Rectangle Grid.Column="0" Grid.Row="1">
<Rectangle.Fill>
<LinearGradientBrush StartPoint="0,0" EndPoint="1,0">
<GradientStop Offset="0" Color="{StaticResource OuterColor}"/>
<GradientStop Offset="1" Color="{StaticResource InnerColor}"/>
</LinearGradientBrush>
</Rectangle.Fill>
</Rectangle>
<Rectangle Grid.Column="2" Grid.Row="1">
<Rectangle.Fill>
<LinearGradientBrush StartPoint="0,0" EndPoint="1,0">
<GradientStop Offset="0" Color="{StaticResource InnerColor}"/>
<GradientStop Offset="1" Color="{StaticResource OuterColor}"/>
</LinearGradientBrush>
</Rectangle.Fill>
</Rectangle>
<Rectangle Grid.Column="0" Grid.Row="0">
<Rectangle.Fill>
<RadialGradientBrush GradientOrigin="1,1" Center="1,1" RadiusX="1" RadiusY="1">
<GradientStop Offset="0" Color="{StaticResource InnerColor}"/>
<GradientStop Offset="1" Color="{StaticResource OuterColor}"/>
</RadialGradientBrush>
</Rectangle.Fill>
</Rectangle>
<Rectangle Grid.Column="2" Grid.Row="0">
<Rectangle.Fill>
<RadialGradientBrush GradientOrigin="0,1" Center="0,1" RadiusX="1" RadiusY="1">
<GradientStop Offset="0" Color="{StaticResource InnerColor}"/>
<GradientStop Offset="1" Color="{StaticResource OuterColor}"/>
</RadialGradientBrush>
</Rectangle.Fill>
</Rectangle>
<Rectangle Grid.Column="0" Grid.Row="2">
<Rectangle.Fill>
<RadialGradientBrush GradientOrigin="1,0" Center="1,0" RadiusX="1" RadiusY="1">
<GradientStop Offset="0" Color="{StaticResource InnerColor}"/>
<GradientStop Offset="1" Color="{StaticResource OuterColor}"/>
</RadialGradientBrush>
</Rectangle.Fill>
</Rectangle>
<Rectangle Grid.Column="2" Grid.Row="2">
<Rectangle.Fill>
<RadialGradientBrush GradientOrigin="0,0" Center="0,0" RadiusX="1" RadiusY="1">
<GradientStop Offset="0" Color="{StaticResource InnerColor}"/>
<GradientStop Offset="1" Color="{StaticResource OuterColor}"/>
</RadialGradientBrush>
</Rectangle.Fill>
</Rectangle>
</Grid>
You could try and use a Grid or a DockPanel and then use Line or Rectangle to create 4 filled distinct regions. However, you can't use a RadialGradient in this case because it will stretch, and look wrong. So instead you could create 4 different LinearGradients which were setup to graduate in the 4 different directions you want.....however, I don't think this would look right either in the corners...as they need to be mitred...and this won't do that.
So...
...you could try and use this GradientPath control that knows how to draw a gradient along a path.
http://www.charlespetzold.com/blog/2009/02/Graphical-Paths-with-Gradient-Colors.html
Note, I haven't been able to spend much time with it so I haven't worked out how to use it properly - the start and end caps of the rectangle aren't quite right.
Note using a PathGeometry instead of RectangleGeometry still has the same problem.
One possible workaround is to create 2 rectangles with GradientPath and then cut them through the diagonal (using a suitable Clip definition) so that they each contribute the good part of the rectangle (i.e. without the start/end artifact)...and overlay them in a Grid.
Or you could dig into the GradientPath code.
It should give you some ideas if you want to take this approach....and play around/experiment at your leisure till it is how you want it.
<gpl:GradientPath Name="gradientPath2"
StrokeThickness="30"
>
<gpl:GradientPath.Data>
<RectangleGeometry Rect="0,0,200,200" />
</gpl:GradientPath.Data>
<gpl:GradientPath.GradientStops>
<GradientStop Offset="0" Color="Blue" />
<GradientStop Offset="0.5" Color="Red" />
<GradientStop Offset="1" Color="Green" />
</gpl:GradientPath.GradientStops>
</gpl:GradientPath>

Border with Linear Gradient fill doesn't show border at run time

Here is my XAML
<Border Grid.Column="1" BorderBrush="Black" Margin="5">
<Border.Background>
<LinearGradientBrush EndPoint=".5,1" StartPoint=".5,0">
<GradientStop Color="#FFFFFFFF" Offset="0"/>
<GradientStop Color="#FFf3f3f3" Offset="0.48"/>
<GradientStop Color="#FFededed" Offset="0.51"/>
<GradientStop Color="#FFFFFFFF" Offset="1"/>
</LinearGradientBrush>
</Border.Background>
</Border>
I can see border at design time but it doesn't show at run-time. Why?
Whats wrong with it?!
You need to set the BorderThickness.

Not able to use XAML extracted from Adobe Illustrator in WPF

I've created a design in AdobeIllustrator. Then I opened design in Microsoft Expression Blend, and got entire XAML code of the design.
I tried to apply the XAML and create custom button with the same shape as in my original design. This is what I did:
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<Style x:Key="ShutdownButton" TargetType="{x:Type Button}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type Button}">
<Grid>
<Canvas>
<Path Stretch="Fill" Width="48.901" Height="48.901" Data="F1M1499.9043,24.47363C1492.73633,24.47363,1486.90576,30.3046899999999,1486.90576,37.47119C1486.90576,37.47119,1486.90576,60.37646,1486.90576,60.37646C1486.90576,67.54395,1492.73633,73.375,1499.9043,73.375C1499.9043,73.375,1522.80811,73.375,1522.80811,73.375C1529.97607,73.375,1535.80713,67.54395,1535.80713,60.37646C1535.80713,60.37646,1535.80713,37.47119,1535.80713,37.47119C1535.80713,30.3046899999999,1529.97607,24.47363,1522.80811,24.47363C1522.80811,24.47363,1499.9043,24.47363,1499.9043,24.47363z" Canvas.Left="1486.906" Canvas.Top="30.395">
<Path.Fill>
<LinearGradientBrush EndPoint="-0.282,0.5" StartPoint="1.225,0.5">
<GradientStop Color="#FF80A6CE" Offset="0"/>
<GradientStop Color="#FF80A6CE" Offset="0.0056199999526143074"/>
<GradientStop Color="#FF35567B" Offset="0.0730300024151802"/>
<GradientStop Color="#FFE3E5E9" Offset="0.5"/>
<GradientStop Color="#FFBDCEDB" Offset="0.61798000335693359"/>
<GradientStop Color="sc#1, 0.481651038, 0.5958579, 0.699703157" Offset="0.72800544642086606"/>
<GradientStop Color="sc#1, 0.423206866, 0.5500373, 0.6810892" Offset="0.76080161280657421"/>
<GradientStop Color="sc#1, 0.3457467, 0.489308178, 0.65641886" Offset="0.78334873384059733"/>
<GradientStop Color="sc#1, 0.253189534, 0.4167429, 0.6269403" Offset="0.80115865841833056"/>
<GradientStop Color="sc#1, 0.201556265, 0.376262128, 0.610495567" Offset="0.8089900016784668"/>
<GradientStop Color="#FF7CA5CD" Offset="0.8089900016784668"/>
<GradientStop Color="#FF224F5E" Offset="1"/>
</LinearGradientBrush>
</Path.Fill>
</Path>
</Canvas>
<Canvas>
<Path Stretch="Fill" Width="41.629" Height="41.629" Data="F1M1499.9043,28.10986C1494.74219,28.10986,1490.54199,32.30908,1490.54199,37.47119C1490.54199,37.47119,1490.54199,60.37646,1490.54199,60.37646C1490.54199,65.5385699999999,1494.74219,69.7387699999999,1499.9043,69.7387699999999C1499.9043,69.7387699999999,1522.80811,69.7387699999999,1522.80811,69.7387699999999C1527.97021,69.7387699999999,1532.1709,65.5385699999999,1532.1709,60.37646C1532.1709,60.37646,1532.1709,37.47119,1532.1709,37.47119C1532.1709,32.30908,1527.97021,28.10986,1522.80811,28.10986C1522.80811,28.10986,1499.9043,28.10986,1499.9043,28.10986z" Canvas.Left="1490.542" Canvas.Top="34.032">
<Path.Fill>
<LinearGradientBrush EndPoint="0.5,1.175" StartPoint="0.5,-0.157">
<GradientStop Color="#FF80A6CE" Offset="0"/>
<GradientStop Color="#FF80A6CE" Offset="0.0056199999526143074"/>
<GradientStop Color="#FF35567B" Offset="0.0730300024151802"/>
<GradientStop Color="#FFE3E5E9" Offset="0.5"/>
<GradientStop Color="#FFBDCEDB" Offset="0.61798000335693359"/>
<GradientStop Color="sc#1, 0.481651038, 0.5958579, 0.699703157" Offset="0.72800544642086606"/>
<GradientStop Color="sc#1, 0.423206866, 0.5500373, 0.6810892" Offset="0.76080161280657421"/>
<GradientStop Color="sc#1, 0.3457467, 0.489308178, 0.65641886" Offset="0.78334873384059733"/>
<GradientStop Color="sc#1, 0.253189534, 0.4167429, 0.6269403" Offset="0.80115865841833056"/>
<GradientStop Color="sc#1, 0.201556265, 0.376262128, 0.610495567" Offset="0.8089900016784668"/>
<GradientStop Color="#FF7CA5CD" Offset="0.8089900016784668"/>
<GradientStop Color="#FF224F5E" Offset="1"/>
</LinearGradientBrush>
</Path.Fill>
</Path>
</Canvas>
<Canvas>
<Path Fill="Black" Stretch="Fill" Width="37.588" Height="37.589" Data="F1M1499.9043,30.12988C1495.85596,30.12988,1492.56201,33.4233400000001,1492.56201,37.47119C1492.56201,37.47119,1492.56201,60.37646,1492.56201,60.37646C1492.56201,64.4248,1495.85596,67.71875,1499.9043,67.71875C1499.9043,67.71875,1522.80811,67.71875,1522.80811,67.71875C1526.85742,67.71875,1530.15039,64.4248,1530.15039,60.37646C1530.15039,60.37646,1530.15039,37.47119,1530.15039,37.47119C1530.15039,33.4233400000001,1526.85742,30.12988,1522.80811,30.12988C1522.80811,30.12988,1499.9043,30.12988,1499.9043,30.12988z" Canvas.Left="1492.562" Canvas.Top="36.052"/>
</Canvas>
<Canvas>
<Path Stretch="Fill" Width="36.78" Height="36.78" Data="F1M1499.9043,30.5341800000001C1496.07813,30.5341800000001,1492.9668,33.646,1492.9668,37.47119C1492.9668,37.47119,1492.9668,60.37646,1492.9668,60.37646C1492.9668,64.20264,1496.07813,67.3144500000001,1499.9043,67.3144500000001C1499.9043,67.3144500000001,1522.80811,67.3144500000001,1522.80811,67.3144500000001C1526.63379,67.3144500000001,1529.74658,64.20264,1529.74658,60.37646C1529.74658,60.37646,1529.74658,37.47119,1529.74658,37.47119C1529.74658,33.646,1526.63379,30.5341800000001,1522.80811,30.5341800000001C1522.80811,30.5341800000001,1499.9043,30.5341800000001,1499.9043,30.5341800000001z" Canvas.Left="1492.967" Canvas.Top="36.456">
<Path.Fill>
<RadialGradientBrush Center="0.509,-0.259" GradientOrigin="0.509,-0.259" RadiusX="1.572" RadiusY="1.572">
<GradientStop Color="#FFFEFEFE" Offset="0"/>
<GradientStop Color="sc#1, 0.91495055, 0.5010311, 0.5039547" Offset="0.0692620569139719"/>
<GradientStop Color="#FFEC1B23" Offset="0.2921299934387207"/>
<GradientStop Color="#FF9E1218" Offset="0.64607000350952148"/>
<GradientStop Color="#FF141D2D" Offset="1"/>
</RadialGradientBrush>
</Path.Fill>
</Path>
</Canvas>
<Canvas>
<Path Stretch="Fill" Width="36.78" Height="36.78" Data="F1M1499.9043,30.5341800000001C1496.07813,30.5341800000001,1492.9668,33.646,1492.9668,37.47119C1492.9668,37.47119,1492.9668,60.37646,1492.9668,60.37646C1492.9668,64.20264,1496.07813,67.3144500000001,1499.9043,67.3144500000001C1499.9043,67.3144500000001,1522.80811,67.3144500000001,1522.80811,67.3144500000001C1526.63379,67.3144500000001,1529.74658,64.20264,1529.74658,60.37646C1529.74658,60.37646,1529.74658,37.47119,1529.74658,37.47119C1529.74658,33.646,1526.63379,30.5341800000001,1522.80811,30.5341800000001C1522.80811,30.5341800000001,1499.9043,30.5341800000001,1499.9043,30.5341800000001z" Canvas.Left="1492.967" Canvas.Top="36.456">
<Path.Fill>
<RadialGradientBrush Center="0.509,-0.259" GradientOrigin="0.509,-0.259" RadiusX="1.572" RadiusY="1.572">
<GradientStop Color="#FFFEFEFE" Offset="0"/>
<GradientStop Color="sc#1, 0.91495055, 0.5010311, 0.5039547" Offset="0.0692620569139719"/>
<GradientStop Color="#FFEC1B23" Offset="0.2921299934387207"/>
<GradientStop Color="#FF9E1218" Offset="0.64607000350952148"/>
<GradientStop Color="#FF141D2D" Offset="1"/>
</RadialGradientBrush>
</Path.Fill>
</Path>
</Canvas>
<Canvas>
<Path Stretch="Fill" Width="34.356" Height="34.357" Data="F1M1528.53418,60.37646C1528.53418,63.5385699999999,1525.97168,66.10303,1522.80811,66.10303C1522.80811,66.10303,1499.9043,66.10303,1499.9043,66.10303C1496.74219,66.10303,1494.17773,63.5385699999999,1494.17773,60.37646C1494.17773,60.37646,1494.17773,37.47119,1494.17773,37.47119C1494.17773,34.30908,1496.74219,31.7456099999999,1499.9043,31.7456099999999C1499.9043,31.7456099999999,1522.80811,31.7456099999999,1522.80811,31.7456099999999C1525.97168,31.7456099999999,1528.53418,34.30908,1528.53418,37.47119C1528.53418,37.47119,1528.53418,60.37646,1528.53418,60.37646z" Canvas.Left="1494.178" Canvas.Top="37.667">
<Path.Fill>
<RadialGradientBrush Center="0.526,1.261" GradientOrigin="0.526,1.261" RadiusX="1.188" RadiusY="1.187">
<GradientStop Color="#FFEC1B23" Offset="0"/>
<GradientStop Color="#FFEC1B23" Offset="0.2921299934387207"/>
<GradientStop Color="#FFCD2123" Offset="0.64607000350952148"/>
<GradientStop Color="#FF8F2224" Offset="1"/>
</RadialGradientBrush>
</Path.Fill>
</Path>
</Canvas>
<Canvas>
<Path Fill="#FFFEFEFE" Stretch="Fill" Width="1.961" Height="9.576" Data="F1M1510.37646,38.4262699999999C1510.37646,38.4262699999999,1510.37646,48.0019500000001,1510.37646,48.0019500000001C1510.37646,48.0019500000001,1512.3374,48.0019500000001,1512.3374,48.0019500000001C1512.3374,48.0019500000001,1512.3374,38.4262699999999,1512.3374,38.4262699999999C1512.3374,38.4262699999999,1510.37646,38.4262699999999,1510.37646,38.4262699999999z" Canvas.Left="1510.376" Canvas.Top="44.348"/>
</Canvas>
<Canvas>
<Path Fill="#FFFEFEFE" Stretch="Fill" Width="18.806" Height="18.429" Data="F1M1513.9707,40.9926800000001C1513.9707,40.9926800000001,1513.9707,43.05762,1513.9707,43.05762C1516.78809,44.1196299999999,1518.79883,46.8349599999999,1518.79883,50.0180700000001C1518.79883,54.12256,1515.46094,57.46191,1511.35693,57.46191C1507.25195,57.46191,1503.91309,54.12256,1503.91309,50.0180700000001C1503.91309,46.8349599999999,1505.92578,44.1196299999999,1508.74316,43.05762C1508.74316,43.05762,1508.74316,40.9926800000001,1508.74316,40.9926800000001C1504.82715,42.12842,1501.95361,45.74072,1501.95361,50.0180700000001C1501.95361,55.20361,1506.17236,59.42139,1511.35693,59.42139C1516.5415,59.42139,1520.75977,55.20361,1520.75977,50.0180700000001C1520.75977,45.74072,1517.88623,42.12842,1513.9707,40.9926800000001z" Canvas.Left="1501.954" Canvas.Top="46.914"/>
</Canvas>
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
I saved this in Resource Dictionary file and included dictionary in App.xaml.
When I try to apply Style on my WPF application with
...
I don't get the desired design. Actually, the button is not visible at all.
Can someone help me with the issue?
Ok, I must have done something wrong when pasting generated xaml.
Here is a working version:
<Path Fill="Black" Stretch="Fill" Width="37.588" Height="37.589" Data="F1M1499.9043,30.12988C1495.85596,30.12988,1492.56201,33.4233400000001,1492.56201,37.47119C1492.56201,37.47119,1492.56201,60.37646,1492.56201,60.37646C1492.56201,64.4248,1495.85596,67.71875,1499.9043,67.71875C1499.9043,67.71875,1522.80811,67.71875,1522.80811,67.71875C1526.85742,67.71875,1530.15039,64.4248,1530.15039,60.37646C1530.15039,60.37646,1530.15039,37.47119,1530.15039,37.47119C1530.15039,33.4233400000001,1526.85742,30.12988,1522.80811,30.12988C1522.80811,30.12988,1499.9043,30.12988,1499.9043,30.12988z" Canvas.Left="1492.562" Canvas.Top="36.052"/>
<Path Stretch="Fill" Width="36.78" Height="36.78" Data="F1M1499.9043,30.5341800000001C1496.07813,30.5341800000001,1492.9668,33.646,1492.9668,37.47119C1492.9668,37.47119,1492.9668,60.37646,1492.9668,60.37646C1492.9668,64.20264,1496.07813,67.3144500000001,1499.9043,67.3144500000001C1499.9043,67.3144500000001,1522.80811,67.3144500000001,1522.80811,67.3144500000001C1526.63379,67.3144500000001,1529.74658,64.20264,1529.74658,60.37646C1529.74658,60.37646,1529.74658,37.47119,1529.74658,37.47119C1529.74658,33.646,1526.63379,30.5341800000001,1522.80811,30.5341800000001C1522.80811,30.5341800000001,1499.9043,30.5341800000001,1499.9043,30.5341800000001z" Canvas.Left="1492.967" Canvas.Top="36.456">
<Path.Fill>
<RadialGradientBrush Center="0.509,-0.259" GradientOrigin="0.509,-0.259" RadiusX="1.572" RadiusY="1.572">
<GradientStop Color="#FFFEFEFE" Offset="0"/>
<GradientStop Color="sc#1, 0.91495055, 0.5010311, 0.5039547" Offset="0.0692620569139719"/>
<GradientStop Color="#FFEC1B23" Offset="0.2921299934387207"/>
<GradientStop Color="#FF9E1218" Offset="0.64607000350952148"/>
<GradientStop Color="#FF141D2D" Offset="1"/>
</RadialGradientBrush>
</Path.Fill>
</Path>
<Path Stretch="Fill" Width="34.356" Height="34.357" Data="F1M1528.53418,60.37646C1528.53418,63.5385699999999,1525.97168,66.10303,1522.80811,66.10303C1522.80811,66.10303,1499.9043,66.10303,1499.9043,66.10303C1496.74219,66.10303,1494.17773,63.5385699999999,1494.17773,60.37646C1494.17773,60.37646,1494.17773,37.47119,1494.17773,37.47119C1494.17773,34.30908,1496.74219,31.7456099999999,1499.9043,31.7456099999999C1499.9043,31.7456099999999,1522.80811,31.7456099999999,1522.80811,31.7456099999999C1525.97168,31.7456099999999,1528.53418,34.30908,1528.53418,37.47119C1528.53418,37.47119,1528.53418,60.37646,1528.53418,60.37646z" Canvas.Left="1494.178" Canvas.Top="37.667">
<Path.Fill>
<RadialGradientBrush Center="0.526,1.261" GradientOrigin="0.526,1.261" RadiusX="1.188" RadiusY="1.187">
<GradientStop Color="#FFEC1B23" Offset="0"/>
<GradientStop Color="#FFEC1B23" Offset="0.2921299934387207"/>
<GradientStop Color="#FFCD2123" Offset="0.64607000350952148"/>
<GradientStop Color="#FF8F2224" Offset="1"/>
</RadialGradientBrush>
</Path.Fill>
</Path>
<Path Fill="#FFFEFEFE" Stretch="Fill" Width="1.961" Height="9.576" Data="F1M1510.37646,38.4262699999999C1510.37646,38.4262699999999,1510.37646,48.0019500000001,1510.37646,48.0019500000001C1510.37646,48.0019500000001,1512.3374,48.0019500000001,1512.3374,48.0019500000001C1512.3374,48.0019500000001,1512.3374,38.4262699999999,1512.3374,38.4262699999999C1512.3374,38.4262699999999,1510.37646,38.4262699999999,1510.37646,38.4262699999999z" Canvas.Left="1510.376" Canvas.Top="44.348"/>
<Path Fill="#FFFEFEFE" Stretch="Fill" Width="18.806" Height="18.429" Data="F1M1513.9707,40.9926800000001C1513.9707,40.9926800000001,1513.9707,43.05762,1513.9707,43.05762C1516.78809,44.1196299999999,1518.79883,46.8349599999999,1518.79883,50.0180700000001C1518.79883,54.12256,1515.46094,57.46191,1511.35693,57.46191C1507.25195,57.46191,1503.91309,54.12256,1503.91309,50.0180700000001C1503.91309,46.8349599999999,1505.92578,44.1196299999999,1508.74316,43.05762C1508.74316,43.05762,1508.74316,40.9926800000001,1508.74316,40.9926800000001C1504.82715,42.12842,1501.95361,45.74072,1501.95361,50.0180700000001C1501.95361,55.20361,1506.17236,59.42139,1511.35693,59.42139C1516.5415,59.42139,1520.75977,55.20361,1520.75977,50.0180700000001C1520.75977,45.74072,1517.88623,42.12842,1513.9707,40.9926800000001z" Canvas.Left="1501.954" Canvas.Top="46.914"/>
<ContentPresenter HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" RecognizesAccessKey="True"/>
</Grid>
<ControlTemplate.Triggers>
<Trigger Property="IsFocused" Value="True"/>
<Trigger Property="IsDefaulted" Value="True"/>
<Trigger Property="IsMouseOver" Value="True"/>
<Trigger Property="IsPressed" Value="True"/>
<Trigger Property="IsEnabled" Value="False"/>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
But, one more thing that I'm interested in is this:
Is there a way to set a font style property when defining new style? Just like I set Width and Height?

Resources