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