Browse Source

Added missing Ids to templates.

And allow ContentControl to not have a ContentPresenter in its control
template, as one isn't needed for TreeViewItem for example.
pull/39/head
Steven Kirk 12 years ago
parent
commit
90273c74dd
  1. 10
      Perspex.Controls/ContentControl.cs
  2. 1
      Perspex.Themes.Default/ButtonStyle.cs
  3. 1
      Perspex.Themes.Default/CheckBoxStyle.cs
  4. 1
      Perspex.Themes.Default/RadioButtonStyle.cs
  5. 1
      Perspex.Themes.Default/TabItemStyle.cs
  6. 1
      Perspex.Themes.Default/ToggleButtonStyle.cs

10
Perspex.Controls/ContentControl.cs

@ -79,9 +79,13 @@ namespace Perspex.Controls
this.presenterSubscription = null;
}
this.presenter = this.GetTemplateChild<ContentPresenter>("presenter");
this.presenterSubscription = this.presenter.ChildObservable
.Subscribe(x => this.logicalChild.SingleItem = x);
this.presenter = this.FindTemplateChild<ContentPresenter>("presenter");
if (this.presenter != null)
{
this.presenterSubscription = this.presenter.ChildObservable
.Subscribe(x => this.logicalChild.SingleItem = x);
}
}
}
}

1
Perspex.Themes.Default/ButtonStyle.cs

@ -78,6 +78,7 @@ namespace Perspex.Themes.Default
Padding = new Thickness(3),
Content = new ContentPresenter
{
Id = "presenter",
[~ContentPresenter.ContentProperty] = control[~Button.ContentProperty],
[~ContentPresenter.HorizontalAlignmentProperty] = control[~Button.HorizontalContentAlignmentProperty],
[~ContentPresenter.VerticalAlignmentProperty] = control[~Button.VerticalContentAlignmentProperty],

1
Perspex.Themes.Default/CheckBoxStyle.cs

@ -83,6 +83,7 @@ namespace Perspex.Themes.Default
},
new ContentPresenter
{
Id = "presenter",
Margin = new Thickness(4, 0, 0, 0),
VerticalAlignment = VerticalAlignment.Center,
[~ContentPresenter.ContentProperty] = control[~CheckBox.ContentProperty],

1
Perspex.Themes.Default/RadioButtonStyle.cs

@ -82,6 +82,7 @@ namespace Perspex.Themes.Default
},
new ContentPresenter
{
Id = "presenter",
Margin = new Thickness(4, 0, 0, 0),
VerticalAlignment = VerticalAlignment.Center,
[~ContentPresenter.ContentProperty] = control[~RadioButton.ContentProperty],

1
Perspex.Themes.Default/TabItemStyle.cs

@ -41,6 +41,7 @@ namespace Perspex.Themes.Default
{
return new ContentPresenter
{
Id = "presenter",
[~ContentPresenter.ContentProperty] = control[~TabItem.HeaderProperty],
};
}

1
Perspex.Themes.Default/ToggleButtonStyle.cs

@ -93,6 +93,7 @@ namespace Perspex.Themes.Default
Padding = new Thickness(3),
Content = new ContentPresenter
{
Id = "presenter",
[~ContentPresenter.ContentProperty] = control[~ToggleButton.ContentProperty],
[~ContentPresenter.HorizontalAlignmentProperty] = control[~ToggleButton.HorizontalContentAlignmentProperty],
[~ContentPresenter.VerticalAlignmentProperty] = control[~ToggleButton.VerticalContentAlignmentProperty],

Loading…
Cancel
Save