diff --git a/src/Perspex.Controls/AdornerTemplate.cs b/src/Perspex.Controls/AdornerTemplate.cs
deleted file mode 100644
index 8a93de3ca5..0000000000
--- a/src/Perspex.Controls/AdornerTemplate.cs
+++ /dev/null
@@ -1,27 +0,0 @@
-// -----------------------------------------------------------------------
-//
-// Copyright 2014 MIT Licence. See licence.md for more information.
-//
-// -----------------------------------------------------------------------
-
-namespace Perspex.Controls
-{
- using System;
-
- public class AdornerTemplate
- {
- private Func build;
-
- public AdornerTemplate(Func build)
- {
- Contract.Requires(build != null);
-
- this.build = build;
- }
-
- public Control Build()
- {
- return this.build();
- }
- }
-}
diff --git a/src/Perspex.Controls/Control.cs b/src/Perspex.Controls/Control.cs
index 97d6a94c36..c61fc6d9cb 100644
--- a/src/Perspex.Controls/Control.cs
+++ b/src/Perspex.Controls/Control.cs
@@ -43,8 +43,8 @@ namespace Perspex.Controls
///
/// Defines the property.
///
- public static readonly PerspexProperty FocusAdornerProperty =
- PerspexProperty.Register(nameof(FocusAdorner));
+ public static readonly PerspexProperty> FocusAdornerProperty =
+ PerspexProperty.Register>(nameof(FocusAdorner));
///
/// Defines the property.
@@ -74,7 +74,7 @@ namespace Perspex.Controls
private DataTemplates dataTemplates;
- private Control focusAdorner;
+ private IControl focusAdorner;
private string id;
@@ -141,7 +141,7 @@ namespace Perspex.Controls
///
/// Gets or sets the control's focus adorner.
///
- public AdornerTemplate FocusAdorner
+ public ITemplate FocusAdorner
{
get { return this.GetValue(FocusAdornerProperty); }
set { this.SetValue(FocusAdornerProperty, value); }
@@ -375,7 +375,7 @@ namespace Perspex.Controls
if (this.focusAdorner != null)
{
- AdornerLayer.SetAdornedElement(this.focusAdorner, this);
+ AdornerLayer.SetAdornedElement((Visual)this.focusAdorner, this);
adornerLayer.Children.Add(this.focusAdorner);
}
}
diff --git a/src/Perspex.Controls/IContentControl.cs b/src/Perspex.Controls/IContentControl.cs
index d786f86f88..244c4a6322 100644
--- a/src/Perspex.Controls/IContentControl.cs
+++ b/src/Perspex.Controls/IContentControl.cs
@@ -1,4 +1,4 @@
-// -----------------------------------------------------------------------
+// -----------------------------------------------------------------------
//
// Copyright 2014 MIT Licence. See licence.md for more information.
//
diff --git a/src/Perspex.Controls/Perspex.Controls.csproj b/src/Perspex.Controls/Perspex.Controls.csproj
index d860bef225..c095c37e8a 100644
--- a/src/Perspex.Controls/Perspex.Controls.csproj
+++ b/src/Perspex.Controls/Perspex.Controls.csproj
@@ -43,6 +43,7 @@
+
@@ -57,9 +58,7 @@
-
-
diff --git a/src/Perspex.Controls/Presenters/ItemsPresenter.cs b/src/Perspex.Controls/Presenters/ItemsPresenter.cs
index 86c066dc2e..943bd0345a 100644
--- a/src/Perspex.Controls/Presenters/ItemsPresenter.cs
+++ b/src/Perspex.Controls/Presenters/ItemsPresenter.cs
@@ -144,7 +144,7 @@ namespace Perspex.Controls.Presenters
if (!this.Panel.IsSet(KeyboardNavigation.DirectionalNavigationProperty))
{
KeyboardNavigation.SetDirectionalNavigation(
- (InputElement)this.Panel,
+ (InputElement)this.Panel,
KeyboardNavigationMode.Contained);
}
@@ -160,7 +160,7 @@ namespace Perspex.Controls.Presenters
}
KeyboardNavigation.SetTabNavigation(
- (InputElement)this.Panel,
+ (InputElement)this.Panel,
KeyboardNavigation.GetTabNavigation(this));
this.createdPanel = true;
this.CreateItemsAndListenForChanges(this.Items);
diff --git a/src/Perspex.Controls/Primitives/SelectingItemsControl.cs b/src/Perspex.Controls/Primitives/SelectingItemsControl.cs
index 7846c14e1c..ef3199b16a 100644
--- a/src/Perspex.Controls/Primitives/SelectingItemsControl.cs
+++ b/src/Perspex.Controls/Primitives/SelectingItemsControl.cs
@@ -326,7 +326,7 @@ namespace Perspex.Controls.Primitives
if (inputElement != null && this.Presenter != null && this.Presenter.Panel != null)
{
KeyboardNavigation.SetTabOnceActiveElement(
- (InputElement)this.Presenter.Panel,
+ (InputElement)this.Presenter.Panel,
inputElement);
}
}
diff --git a/src/Perspex.Controls/TreeView.cs b/src/Perspex.Controls/TreeView.cs
index f6f1f226a0..f32db5cf02 100644
--- a/src/Perspex.Controls/TreeView.cs
+++ b/src/Perspex.Controls/TreeView.cs
@@ -70,7 +70,7 @@ namespace Perspex.Controls
if (this.Presenter != null && this.Presenter.Panel != null)
{
KeyboardNavigation.SetTabOnceActiveElement(
- (InputElement)this.Presenter.Panel,
+ (InputElement)this.Presenter.Panel,
selectedContainer);
}
diff --git a/src/Perspex.Themes.Default/ButtonStyle.cs b/src/Perspex.Themes.Default/ButtonStyle.cs
index cd36396653..4bdba4cb7d 100644
--- a/src/Perspex.Themes.Default/ButtonStyle.cs
+++ b/src/Perspex.Themes.Default/ButtonStyle.cs
@@ -26,7 +26,7 @@ namespace Perspex.Themes.Default
{
Setters = new[]
{
- new Setter(Button.FocusAdornerProperty, new AdornerTemplate(FocusAdornerTemplate)),
+ new Setter(Button.FocusAdornerProperty, new FuncTemplate(FocusAdornerTemplate)),
new Setter(Button.TemplateProperty, new ControlTemplate