|
|
|
@ -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(); |
|
|
|
|
|
|
|
/// <inheritdoc/>
|
|
|
|
event EventHandler<NameScopeEventArgs> INameScope.Registered |
|
|
|
{ |
|
|
|
add { _nameScope.Registered += value; } |
|
|
|
remove { _nameScope.Registered -= value; } |
|
|
|
} |
|
|
|
|
|
|
|
/// <inheritdoc/>
|
|
|
|
event EventHandler<NameScopeEventArgs> INameScope.Unregistered |
|
|
|
{ |
|
|
|
add { _nameScope.Unregistered += value; } |
|
|
|
remove { _nameScope.Unregistered -= value; } |
|
|
|
} |
|
|
|
|
|
|
|
Type IStyleable.StyleKey => typeof(ContentControl); |
|
|
|
|
|
|
|
/// <inheritdoc/>
|
|
|
|
void INameScope.Register(string name, object element) |
|
|
|
{ |
|
|
|
_nameScope.Register(name, element); |
|
|
|
} |
|
|
|
|
|
|
|
/// <inheritdoc/>
|
|
|
|
object INameScope.Find(string name) |
|
|
|
{ |
|
|
|
return _nameScope.Find(name); |
|
|
|
} |
|
|
|
|
|
|
|
/// <inheritdoc/>
|
|
|
|
void INameScope.Unregister(string name) |
|
|
|
{ |
|
|
|
_nameScope.Unregister(name); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|