diff --git a/Perspex.Windows/Window.cs b/Perspex.Windows/Window.cs index 0c831a20b0..813fd69087 100644 --- a/Perspex.Windows/Window.cs +++ b/Perspex.Windows/Window.cs @@ -134,7 +134,12 @@ namespace Perspex.Windows private void MouseMove(Visual visual, Point p) { - visual.IsMouseOver = visual.Bounds.Contains(p); + Control control = visual as Control; + + if (control != null) + { + control.IsMouseOver = visual.Bounds.Contains(p); + } foreach (Visual child in visual.VisualChildren) { diff --git a/Perspex/Controls/Control.cs b/Perspex/Controls/Control.cs index ffa21dd003..2d63583c97 100644 --- a/Perspex/Controls/Control.cs +++ b/Perspex/Controls/Control.cs @@ -44,6 +44,9 @@ namespace Perspex.Controls public static readonly PerspexProperty BorderThicknessProperty = PerspexProperty.Register("BorderThickness"); + public static readonly PerspexProperty IsMouseOverProperty = + PerspexProperty.Register("IsMouseOver"); + public static readonly PerspexProperty HorizontalAlignmentProperty = PerspexProperty.Register("HorizontalAlignment"); @@ -58,10 +61,21 @@ namespace Perspex.Controls public Control() { - this.Classes = new ObservableCollection(); - this.Styles = new ObservableCollection