From 4241fd8331c6122950b444260dc3dd2aae1e0fd2 Mon Sep 17 00:00:00 2001 From: Steven Kirk Date: Sun, 10 Apr 2016 16:25:48 +0200 Subject: [PATCH] Binding ContentPresenter's DataContext. To the owner control's Content property. In WPF this is done automatically, but from looking on the internet it seems that causes some confusion so do it explicitly. Fixes #499 . --- src/Perspex.Themes.Default/Button.xaml | 1 + src/Perspex.Themes.Default/CheckBox.xaml | 1 + src/Perspex.Themes.Default/ContentControl.xaml | 3 ++- src/Perspex.Themes.Default/DropDown.xaml | 1 + src/Perspex.Themes.Default/DropDownItem.xaml | 1 + src/Perspex.Themes.Default/Expander.xaml | 4 ++++ src/Perspex.Themes.Default/LayoutTransformControl.xaml | 1 + src/Perspex.Themes.Default/ListBoxItem.xaml | 1 + src/Perspex.Themes.Default/MenuItem.xaml | 3 +++ src/Perspex.Themes.Default/RadioButton.xaml | 1 + src/Perspex.Themes.Default/TabStripItem.xaml | 1 + src/Perspex.Themes.Default/ToggleButton.xaml | 1 + src/Perspex.Themes.Default/ToolTip.xaml | 1 + src/Perspex.Themes.Default/TreeViewItem.xaml | 1 + src/Perspex.Themes.Default/Window.xaml | 5 ++++- 15 files changed, 24 insertions(+), 2 deletions(-) diff --git a/src/Perspex.Themes.Default/Button.xaml b/src/Perspex.Themes.Default/Button.xaml index 114849b131..93c372adc6 100644 --- a/src/Perspex.Themes.Default/Button.xaml +++ b/src/Perspex.Themes.Default/Button.xaml @@ -14,6 +14,7 @@ BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Content="{TemplateBinding Content}" + DataContext="{TemplateBinding Content}" Padding="{TemplateBinding Padding}" TextBlock.Foreground="{TemplateBinding Foreground}" HorizontalContentAlignment="{TemplateBinding HorizontalContentAlignment}" diff --git a/src/Perspex.Themes.Default/CheckBox.xaml b/src/Perspex.Themes.Default/CheckBox.xaml index d05e8b5cf6..7452964213 100644 --- a/src/Perspex.Themes.Default/CheckBox.xaml +++ b/src/Perspex.Themes.Default/CheckBox.xaml @@ -22,6 +22,7 @@ diff --git a/src/Perspex.Themes.Default/ContentControl.xaml b/src/Perspex.Themes.Default/ContentControl.xaml index 90e34c7d3c..cce99a45e6 100644 --- a/src/Perspex.Themes.Default/ContentControl.xaml +++ b/src/Perspex.Themes.Default/ContentControl.xaml @@ -5,7 +5,8 @@ Background="{TemplateBinding Background}" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" - Content="{TemplateBinding Content}" + Content="{TemplateBinding Content}" + DataContext="{TemplateBinding Content}" Padding="{TemplateBinding Padding}"/> diff --git a/src/Perspex.Themes.Default/DropDown.xaml b/src/Perspex.Themes.Default/DropDown.xaml index 37dd47d49a..683d968520 100644 --- a/src/Perspex.Themes.Default/DropDown.xaml +++ b/src/Perspex.Themes.Default/DropDown.xaml @@ -11,6 +11,7 @@ BorderThickness="{TemplateBinding BorderThickness}"> diff --git a/src/Perspex.Themes.Default/DropDownItem.xaml b/src/Perspex.Themes.Default/DropDownItem.xaml index 4900c961e4..69742258a6 100644 --- a/src/Perspex.Themes.Default/DropDownItem.xaml +++ b/src/Perspex.Themes.Default/DropDownItem.xaml @@ -10,6 +10,7 @@ BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Content="{TemplateBinding Content}" + DataContext="{TemplateBinding Content}" HorizontalContentAlignment="{TemplateBinding HorizontalContentAlignment}" VerticalContentAlignment="{TemplateBinding VerticalContentAlignment}" Padding="{TemplateBinding Padding}"/> diff --git a/src/Perspex.Themes.Default/Expander.xaml b/src/Perspex.Themes.Default/Expander.xaml index 158f6514fd..87728c555b 100644 --- a/src/Perspex.Themes.Default/Expander.xaml +++ b/src/Perspex.Themes.Default/Expander.xaml @@ -17,6 +17,7 @@ Grid.Row="1" IsVisible="{TemplateBinding IsExpanded}" Content="{TemplateBinding Content}" + DataContext="{TemplateBinding Content}" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" /> @@ -34,6 +35,7 @@ Grid.Row="0" IsVisible="{TemplateBinding IsExpanded}" Content="{TemplateBinding Content}" + DataContext="{TemplateBinding Content}" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" /> @@ -51,6 +53,7 @@ Grid.Column="1" IsVisible="{TemplateBinding IsExpanded}" Content="{TemplateBinding Content}" + DataContext="{TemplateBinding Content}" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" /> @@ -68,6 +71,7 @@ Grid.Column="0" IsVisible="{TemplateBinding IsExpanded}" Content="{TemplateBinding Content}" + DataContext="{TemplateBinding Content}" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" /> diff --git a/src/Perspex.Themes.Default/LayoutTransformControl.xaml b/src/Perspex.Themes.Default/LayoutTransformControl.xaml index e393eedf83..3d59fd4482 100644 --- a/src/Perspex.Themes.Default/LayoutTransformControl.xaml +++ b/src/Perspex.Themes.Default/LayoutTransformControl.xaml @@ -6,6 +6,7 @@ BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Content="{TemplateBinding Content}" + DataContext="{TemplateBinding Content}" Padding="{TemplateBinding Padding}"/> diff --git a/src/Perspex.Themes.Default/ListBoxItem.xaml b/src/Perspex.Themes.Default/ListBoxItem.xaml index 784731d57b..7c22cd4b47 100644 --- a/src/Perspex.Themes.Default/ListBoxItem.xaml +++ b/src/Perspex.Themes.Default/ListBoxItem.xaml @@ -7,6 +7,7 @@ BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Content="{TemplateBinding Content}" + DataContext="{TemplateBinding Content}" Padding="{TemplateBinding Padding}"/> diff --git a/src/Perspex.Themes.Default/MenuItem.xaml b/src/Perspex.Themes.Default/MenuItem.xaml index 2011bb041b..7a50703a2f 100644 --- a/src/Perspex.Themes.Default/MenuItem.xaml +++ b/src/Perspex.Themes.Default/MenuItem.xaml @@ -13,6 +13,7 @@ @@ -81,6 +83,7 @@ diff --git a/src/Perspex.Themes.Default/RadioButton.xaml b/src/Perspex.Themes.Default/RadioButton.xaml index 8fc0b14179..6e5c958331 100644 --- a/src/Perspex.Themes.Default/RadioButton.xaml +++ b/src/Perspex.Themes.Default/RadioButton.xaml @@ -21,6 +21,7 @@ VerticalAlignment="Center"/> diff --git a/src/Perspex.Themes.Default/TabStripItem.xaml b/src/Perspex.Themes.Default/TabStripItem.xaml index e32de4613b..1ac77d6609 100644 --- a/src/Perspex.Themes.Default/TabStripItem.xaml +++ b/src/Perspex.Themes.Default/TabStripItem.xaml @@ -9,6 +9,7 @@ BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Content="{TemplateBinding Content}" + DataContext="{TemplateBinding Content}" Padding="{TemplateBinding Padding}"/> diff --git a/src/Perspex.Themes.Default/ToggleButton.xaml b/src/Perspex.Themes.Default/ToggleButton.xaml index 03354c9b27..5f26051058 100644 --- a/src/Perspex.Themes.Default/ToggleButton.xaml +++ b/src/Perspex.Themes.Default/ToggleButton.xaml @@ -14,6 +14,7 @@ BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Content="{TemplateBinding Content}" + DataContext="{TemplateBinding Content}" Padding="{TemplateBinding Padding}" TextBlock.Foreground="{TemplateBinding Foreground}" HorizontalContentAlignment="{TemplateBinding HorizontalContentAlignment}" diff --git a/src/Perspex.Themes.Default/ToolTip.xaml b/src/Perspex.Themes.Default/ToolTip.xaml index 73bf2215ee..19af7c63bc 100644 --- a/src/Perspex.Themes.Default/ToolTip.xaml +++ b/src/Perspex.Themes.Default/ToolTip.xaml @@ -10,6 +10,7 @@ BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Content="{TemplateBinding Content}" + DataContext="{TemplateBinding Content}" Padding="{TemplateBinding Padding}"/> diff --git a/src/Perspex.Themes.Default/TreeViewItem.xaml b/src/Perspex.Themes.Default/TreeViewItem.xaml index 5e673d767f..fcb39fe621 100644 --- a/src/Perspex.Themes.Default/TreeViewItem.xaml +++ b/src/Perspex.Themes.Default/TreeViewItem.xaml @@ -13,6 +13,7 @@ BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Content="{TemplateBinding Header}" + DataContext="{TemplateBinding Content}" Padding="{TemplateBinding Padding}" TemplatedControl.IsTemplateFocusTarget="True" Grid.Column="1"/> diff --git a/src/Perspex.Themes.Default/Window.xaml b/src/Perspex.Themes.Default/Window.xaml index 4316626e58..3dca88b9f4 100644 --- a/src/Perspex.Themes.Default/Window.xaml +++ b/src/Perspex.Themes.Default/Window.xaml @@ -6,7 +6,10 @@ - +