Browse Source

Use interfaces in templates.

pull/69/head
Steven Kirk 11 years ago
parent
commit
c1ba7cc526
  1. 4
      Perspex.Controls/Primitives/TemplatedControl.cs
  2. 4
      Perspex.Controls/Templates/ControlTemplate.cs
  3. 2
      Perspex.Controls/Templates/ControlTemplate`2.cs
  4. 4
      Perspex.Controls/Templates/DataTemplate`1.cs
  5. 2
      Perspex.Controls/Templates/IControlTemplate.cs

4
Perspex.Controls/Primitives/TemplatedControl.cs

@ -138,8 +138,8 @@ namespace Perspex.Controls.Primitives
this.templateLog.Verbose("Creating control template");
var child = this.Template.Build(this);
this.SetTemplatedParent(child);
this.AddVisualChild(child);
this.SetTemplatedParent((Control)child);
this.AddVisualChild((Visual)child);
((ISetLogicalParent)child).SetParent(this);
foreach (var i in this.GetTemplateChildren())

4
Perspex.Controls/Templates/ControlTemplate.cs

@ -13,13 +13,13 @@ namespace Perspex.Controls.Templates
/// <summary>
/// A template for a <see cref="TemplatedControl"/>.
/// </summary>
public class ControlTemplate : FuncTemplate<ITemplatedControl, Control>, IControlTemplate
public class ControlTemplate : FuncTemplate<ITemplatedControl, IControl>, IControlTemplate
{
/// <summary>
/// Initializes a new instance of the <see cref="ControlTemplate"/> class.
/// </summary>
/// <param name="build">The build function.</param>
public ControlTemplate(Func<ITemplatedControl, Control> build)
public ControlTemplate(Func<ITemplatedControl, IControl> build)
: base(build)
{
}

2
Perspex.Controls/Templates/ControlTemplate`2.cs

@ -20,7 +20,7 @@ namespace Perspex.Controls.Templates
/// Initializes a new instance of the <see cref="ControlTemplate{T}"/> class.
/// </summary>
/// <param name="build">The build function.</param>
public ControlTemplate(Func<T, Control> build)
public ControlTemplate(Func<T, IControl> build)
: base(x => build((T)x))
{
}

4
Perspex.Controls/Templates/DataTemplate`1.cs

@ -20,7 +20,7 @@ namespace Perspex.Controls.Templates
/// <param name="build">
/// A function which when passed an object of <typeparamref name="T"/> returns a control.
/// </param>
public DataTemplate(Func<T, Control> build)
public DataTemplate(Func<T, IControl> build)
: base(typeof(T), CastBuild(build))
{
}
@ -34,7 +34,7 @@ namespace Perspex.Controls.Templates
/// <param name="build">
/// A function which when passed an object of <typeparamref name="T"/> returns a control.
/// </param>
public DataTemplate(Func<T, bool> match, Func<T, Control> build)
public DataTemplate(Func<T, bool> match, Func<T, IControl> build)
: base(CastMatch(match), CastBuild(build))
{
}

2
Perspex.Controls/Templates/IControlTemplate.cs

@ -12,7 +12,7 @@ namespace Perspex.Controls.Templates
/// <summary>
/// Interface representing a template used to build a <see cref="TemplatedControl"/>.
/// </summary>
public interface IControlTemplate : ITemplate<ITemplatedControl, Control>
public interface IControlTemplate : ITemplate<ITemplatedControl, IControl>
{
}
}
Loading…
Cancel
Save