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);
+ }
}
}