// ----------------------------------------------------------------------- // // Copyright 2014 MIT Licence. See licence.md for more information. // // ----------------------------------------------------------------------- namespace Perspex.Styling { using System; /// /// Interface for styleable elements. /// public interface IStyleable { /// /// Gets the list of classes for the control. /// Classes Classes { get; } /// /// Gets the ID of the control. /// string Name { get; } /// /// Gets the type by which the control is styled. /// Type StyleKey { get; } /// /// Gets the template parent of this element if the control comes from a template. /// ITemplatedControl TemplatedParent { get; } /// /// Binds a to an observable. /// /// The type of the property. /// The property. /// The observable. /// The priority of the binding. /// /// A disposable which can be used to terminate the binding. /// IDisposable Bind( PerspexProperty property, IObservable source, BindingPriority priority = BindingPriority.LocalValue); } }