diff --git a/src/Perspex.Controls/UserControl.cs b/src/Perspex.Controls/UserControl.cs index b4701325cf..05c1c998b9 100644 --- a/src/Perspex.Controls/UserControl.cs +++ b/src/Perspex.Controls/UserControl.cs @@ -6,8 +6,42 @@ using Perspex.Styling; namespace Perspex.Controls { - public class UserControl : ContentControl, IStyleable + public class UserControl : ContentControl, IStyleable, INameScope { + private NameScope _nameScope = new NameScope(); + + /// + event EventHandler INameScope.Registered + { + add { _nameScope.Registered += value; } + remove { _nameScope.Registered -= value; } + } + + /// + event EventHandler INameScope.Unregistered + { + add { _nameScope.Unregistered += value; } + remove { _nameScope.Unregistered -= value; } + } + Type IStyleable.StyleKey => typeof(ContentControl); + + /// + void INameScope.Register(string name, object element) + { + _nameScope.Register(name, element); + } + + /// + object INameScope.Find(string name) + { + return _nameScope.Find(name); + } + + /// + void INameScope.Unregister(string name) + { + _nameScope.Unregister(name); + } } }