Browse Source

Fix focus adorners a bit.

pull/58/head
Steven Kirk 11 years ago
parent
commit
ddb125659e
  1. 14
      Perspex.Themes.Default/ButtonStyle.cs
  2. 3
      Perspex.Themes.Default/DefaultTheme.cs
  3. 1
      Perspex.Themes.Default/FocusAdornerStyle.cs
  4. 1
      Perspex.Themes.Default/TextBoxStyle.cs
  5. 1
      Perspex.Themes.Default/ToggleButtonStyle.cs

14
Perspex.Themes.Default/ButtonStyle.cs

@ -7,8 +7,10 @@
namespace Perspex.Themes.Default
{
using System.Linq;
using Perspex.Collections;
using Perspex.Controls;
using Perspex.Controls.Presenters;
using Perspex.Controls.Shapes;
using Perspex.Layout;
using Perspex.Media;
using Perspex.Styling;
@ -23,6 +25,7 @@ namespace Perspex.Themes.Default
{
Setters = new[]
{
new Setter(Button.FocusAdornerProperty, new AdornerTemplate(FocusAdornerTemplate)),
new Setter(Button.TemplateProperty, ControlTemplate.Create<Button>(this.Template)),
new Setter(Button.HorizontalContentAlignmentProperty, HorizontalAlignment.Center),
new Setter(Button.VerticalContentAlignmentProperty, VerticalAlignment.Center),
@ -70,6 +73,17 @@ namespace Perspex.Themes.Default
});
}
public static Control FocusAdornerTemplate()
{
return new Rectangle
{
Stroke = Brushes.Black,
StrokeThickness = 1,
StrokeDashArray = new PerspexList<double>(1, 2),
Margin = new Thickness(3.5),
};
}
private Control Template(Button control)
{
Border border = new Border

3
Perspex.Themes.Default/DefaultTheme.cs

@ -12,11 +12,12 @@ namespace Perspex.Themes.Default
{
public DefaultTheme()
{
this.Add(new FocusAdornerStyle());
this.Add(new ButtonStyle());
this.Add(new CheckBoxStyle());
this.Add(new ContentControlStyle());
this.Add(new DropDownStyle());
this.Add(new FocusAdornerStyle());
this.Add(new GridSplitterStyle());
this.Add(new ItemsControlStyle());
this.Add(new ListBoxStyle());

1
Perspex.Themes.Default/FocusAdornerStyle.cs

@ -35,7 +35,6 @@ namespace Perspex.Themes.Default
Stroke = Brushes.Black,
StrokeThickness = 1,
StrokeDashArray = new PerspexList<double>(1, 2),
Margin = new Thickness(3),
};
}
}

1
Perspex.Themes.Default/TextBoxStyle.cs

@ -27,6 +27,7 @@ namespace Perspex.Themes.Default
new Setter(TextBox.TemplateProperty, ControlTemplate.Create<TextBox>(this.Template)),
new Setter(TextBox.BorderBrushProperty, new SolidColorBrush(0xff707070)),
new Setter(TextBox.BorderThicknessProperty, 2.0),
new Setter(TextBox.FocusAdornerProperty, null),
},
},
new Style(x => x.OfType<TextBox>().Class(":focus").Template().Id("border"))

1
Perspex.Themes.Default/ToggleButtonStyle.cs

@ -28,6 +28,7 @@ namespace Perspex.Themes.Default
new Setter(ToggleButton.BackgroundProperty, new SolidColorBrush(0xffdddddd)),
new Setter(ToggleButton.BorderBrushProperty, new SolidColorBrush(0xff707070)),
new Setter(ToggleButton.BorderThicknessProperty, 2.0),
new Setter(ToggleButton.FocusAdornerProperty, new AdornerTemplate(ButtonStyle.FocusAdornerTemplate)),
new Setter(ToggleButton.ForegroundProperty, new SolidColorBrush(0xff000000)),
new Setter(ToggleButton.HorizontalContentAlignmentProperty, HorizontalAlignment.Center),
new Setter(ToggleButton.VerticalContentAlignmentProperty, VerticalAlignment.Center),

Loading…
Cancel
Save