Przeglądaj źródła

Merge pull request #1285 from AvaloniaUI/fixes/1271-contenttemplate-before-content

Make Content depend on ContentTemplate.
danwalmsley 8 lat temu
rodzic
commit
7c236eaa24

+ 1 - 0
src/Avalonia.Controls/ContentControl.cs

@@ -51,6 +51,7 @@ namespace Avalonia.Controls
         /// Gets or sets the content to display.
         /// </summary>
         [Content]
+        [DependsOn(nameof(ContentTemplate))]
         public object Content
         {
             get { return GetValue(ContentProperty); }

+ 2 - 0
src/Avalonia.Controls/Presenters/ContentPresenter.cs

@@ -8,6 +8,7 @@ using Avalonia.Controls.Templates;
 using Avalonia.Layout;
 using Avalonia.LogicalTree;
 using Avalonia.Media;
+using Avalonia.Metadata;
 using Avalonia.VisualTree;
 
 namespace Avalonia.Controls.Presenters
@@ -139,6 +140,7 @@ namespace Avalonia.Controls.Presenters
         /// <summary>
         /// Gets or sets the content to be displayed by the presenter.
         /// </summary>
+        [DependsOn(nameof(ContentTemplate))]
         public object Content
         {
             get { return GetValue(ContentProperty); }

+ 1 - 1
src/Avalonia.Themes.Default/Button.xaml

@@ -13,8 +13,8 @@
                           Background="{TemplateBinding Background}"
                           BorderBrush="{TemplateBinding BorderBrush}"
                           BorderThickness="{TemplateBinding BorderThickness}"
-                          Content="{TemplateBinding Content}"
                           ContentTemplate="{TemplateBinding ContentTemplate}"
+                          Content="{TemplateBinding Content}"
                           Padding="{TemplateBinding Padding}"
                           TextBlock.Foreground="{TemplateBinding Foreground}"
                           HorizontalContentAlignment="{TemplateBinding HorizontalContentAlignment}"

+ 1 - 1
src/Avalonia.Themes.Default/CalendarButton.xaml

@@ -29,8 +29,8 @@
           <!--Focusable="False"-->
           <ContentControl Name="Content"
                           Foreground="#FF333333"
-                          Content="{TemplateBinding Content}"
                           ContentTemplate="{TemplateBinding ContentTemplate}"
+                          Content="{TemplateBinding Content}"
                           HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"
                           VerticalAlignment="{TemplateBinding VerticalContentAlignment}"
                           FontSize="{TemplateBinding FontSize}"

+ 1 - 1
src/Avalonia.Themes.Default/CalendarDayButton.xaml

@@ -30,8 +30,8 @@
                      Fill="{TemplateBinding Background}"/>
 
           <ContentControl Name="Content"
-                          Content="{TemplateBinding Content}"
                           ContentTemplate="{TemplateBinding ContentTemplate}"
+                          Content="{TemplateBinding Content}"
                           HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"
                           VerticalAlignment="{TemplateBinding VerticalContentAlignment}"
                           FontSize="{TemplateBinding FontSize}"

+ 1 - 1
src/Avalonia.Themes.Default/CheckBox.xaml

@@ -31,8 +31,8 @@
             </Panel>
           </Border>
           <ContentPresenter Name="PART_ContentPresenter"
-                            Content="{TemplateBinding Content}"
                             ContentTemplate="{TemplateBinding ContentTemplate}"
+                            Content="{TemplateBinding Content}"
                             Margin="4,0,0,0"
                             VerticalAlignment="Center"
                             Grid.Column="1"/>

+ 1 - 1
src/Avalonia.Themes.Default/ContentControl.xaml

@@ -5,8 +5,8 @@
                         Background="{TemplateBinding Background}"
                         BorderBrush="{TemplateBinding BorderBrush}"
                         BorderThickness="{TemplateBinding BorderThickness}"
-                        Content="{TemplateBinding Content}"
                         ContentTemplate="{TemplateBinding ContentTemplate}"
+                        Content="{TemplateBinding Content}"
                         Padding="{TemplateBinding Padding}"/>
     </ControlTemplate>
   </Setter>

+ 1 - 1
src/Avalonia.Themes.Default/DropDownItem.xaml

@@ -10,8 +10,8 @@
                           Background="{TemplateBinding Background}"
                           BorderBrush="{TemplateBinding BorderBrush}"
                           BorderThickness="{TemplateBinding BorderThickness}"
-                          Content="{TemplateBinding Content}"
                           ContentTemplate="{TemplateBinding ContentTemplate}"
+                          Content="{TemplateBinding Content}"
                           HorizontalContentAlignment="{TemplateBinding HorizontalContentAlignment}"
                           VerticalContentAlignment="{TemplateBinding VerticalContentAlignment}"
                           Padding="{TemplateBinding Padding}"/>

+ 1 - 1
src/Avalonia.Themes.Default/EmbeddableControlRoot.xaml

@@ -7,8 +7,8 @@
       <Border Background="{TemplateBinding Background}">
         <AdornerDecorator>
           <ContentPresenter Name="PART_ContentPresenter" 
-                            Content="{TemplateBinding Content}" 
                             ContentTemplate="{TemplateBinding ContentTemplate}"
+                            Content="{TemplateBinding Content}" 
                             Margin="{TemplateBinding Padding}"/>
         </AdornerDecorator>
       </Border>

+ 4 - 4
src/Avalonia.Themes.Default/Expander.xaml

@@ -16,8 +16,8 @@
             <ContentPresenter Name="PART_ContentPresenter"
                               Grid.Row="1"
                               IsVisible="{TemplateBinding IsExpanded}"
-                              Content="{TemplateBinding Content}"
                               ContentTemplate="{TemplateBinding ContentTemplate}"
+                              Content="{TemplateBinding Content}"
                               HorizontalAlignment="Stretch"
                               VerticalAlignment="Stretch" />
           </Grid>
@@ -34,8 +34,8 @@
             <ContentPresenter Name="PART_ContentPresenter"
                               Grid.Row="0"
                               IsVisible="{TemplateBinding IsExpanded}"
-                              Content="{TemplateBinding Content}"
                               ContentTemplate="{TemplateBinding ContentTemplate}"
+                              Content="{TemplateBinding Content}"
                               HorizontalAlignment="Stretch"
                               VerticalAlignment="Stretch" />
           </Grid>
@@ -52,8 +52,8 @@
             <ContentPresenter Name="PART_ContentPresenter"
                               Grid.Column="1"
                               IsVisible="{TemplateBinding IsExpanded}"
-                              Content="{TemplateBinding Content}"
                               ContentTemplate="{TemplateBinding ContentTemplate}"
+                              Content="{TemplateBinding Content}"
                               HorizontalAlignment="Stretch"
                               VerticalAlignment="Stretch" />
           </Grid>
@@ -70,8 +70,8 @@
             <ContentPresenter Name="PART_ContentPresenter"
                               Grid.Column="0"
                               IsVisible="{TemplateBinding IsExpanded}"
-                              Content="{TemplateBinding Content}"
                               ContentTemplate="{TemplateBinding ContentTemplate}"
+                              Content="{TemplateBinding Content}"
                               HorizontalAlignment="Stretch"
                               VerticalAlignment="Stretch" />
           </Grid>

+ 1 - 1
src/Avalonia.Themes.Default/LayoutTransformControl.xaml

@@ -5,8 +5,8 @@
                         Background="{TemplateBinding Background}"
                         BorderBrush="{TemplateBinding BorderBrush}"
                         BorderThickness="{TemplateBinding BorderThickness}"
-                        Content="{TemplateBinding Content}" 
                         ContentTemplate="{TemplateBinding ContentTemplate}"
+                        Content="{TemplateBinding Content}" 
                         Padding="{TemplateBinding Padding}"/>
     </ControlTemplate>
   </Setter>

+ 1 - 1
src/Avalonia.Themes.Default/ListBoxItem.xaml

@@ -7,8 +7,8 @@
                           Background="{TemplateBinding Background}"
                           BorderBrush="{TemplateBinding BorderBrush}"
                           BorderThickness="{TemplateBinding BorderThickness}"
-                          Content="{TemplateBinding Content}"
                           ContentTemplate="{TemplateBinding ContentTemplate}"
+                          Content="{TemplateBinding Content}"
                           Padding="{TemplateBinding Padding}"/>
       </ControlTemplate>
     </Setter>

+ 1 - 1
src/Avalonia.Themes.Default/PopupRoot.xaml

@@ -4,8 +4,8 @@
     <ControlTemplate>
       <ContentPresenter Name="PART_ContentPresenter"
                         Background="{TemplateBinding Background}"
-                        Content="{TemplateBinding Content}" 
                         ContentTemplate="{TemplateBinding ContentTemplate}"
+                        Content="{TemplateBinding Content}" 
                         Padding="{TemplateBinding Padding}"/>
     </ControlTemplate>
   </Setter>

+ 1 - 1
src/Avalonia.Themes.Default/RadioButton.xaml

@@ -29,8 +29,8 @@
                    HorizontalAlignment="Center"
                    VerticalAlignment="Center"/>
           <ContentPresenter Name="PART_ContentPresenter"
-                            Content="{TemplateBinding Content}"
                             ContentTemplate="{TemplateBinding ContentTemplate}"
+                            Content="{TemplateBinding Content}"
                             Margin="4,0,0,0"
                             VerticalAlignment="Center"
                             Grid.Column="1"/>

+ 1 - 1
src/Avalonia.Themes.Default/RepeatButton.xaml

@@ -20,8 +20,8 @@
                                   Background="{TemplateBinding Background}"
                                   BorderBrush="{TemplateBinding BorderBrush}"
                                   BorderThickness="{TemplateBinding BorderThickness}"
-                                  Content="{TemplateBinding Content}"
                                   ContentTemplate="{TemplateBinding ContentTemplate}"
+                                  Content="{TemplateBinding Content}"
                                   Padding="{TemplateBinding Padding}"
                                   TextBlock.Foreground="{TemplateBinding Foreground}"
                                   HorizontalContentAlignment="{TemplateBinding HorizontalContentAlignment}"

+ 1 - 1
src/Avalonia.Themes.Default/TabStripItem.xaml

@@ -9,8 +9,8 @@
                           Background="{TemplateBinding Background}"
                           BorderBrush="{TemplateBinding BorderBrush}"
                           BorderThickness="{TemplateBinding BorderThickness}"
-                          Content="{TemplateBinding Content}"
                           ContentTemplate="{TemplateBinding ContentTemplate}"
+                          Content="{TemplateBinding Content}"
                           Padding="{TemplateBinding Padding}"/>
       </ControlTemplate>
     </Setter>

+ 1 - 1
src/Avalonia.Themes.Default/ToggleButton.xaml

@@ -13,8 +13,8 @@
                           Background="{TemplateBinding Background}"
                           BorderBrush="{TemplateBinding BorderBrush}"
                           BorderThickness="{TemplateBinding BorderThickness}"
-                          Content="{TemplateBinding Content}"
                           ContentTemplate="{TemplateBinding ContentTemplate}"
+                          Content="{TemplateBinding Content}"
                           Padding="{TemplateBinding Padding}"
                           TextBlock.Foreground="{TemplateBinding Foreground}"
                           HorizontalContentAlignment="{TemplateBinding HorizontalContentAlignment}"

+ 1 - 1
src/Avalonia.Themes.Default/ToolTip.xaml

@@ -9,8 +9,8 @@
                         Background="{TemplateBinding Background}"
                         BorderBrush="{TemplateBinding BorderBrush}"
                         BorderThickness="{TemplateBinding BorderThickness}"
-                        Content="{TemplateBinding Content}" 
                         ContentTemplate="{TemplateBinding ContentTemplate}"
+                        Content="{TemplateBinding Content}" 
                         Padding="{TemplateBinding Padding}"/>
     </ControlTemplate>
   </Setter>

+ 1 - 1
src/Avalonia.Themes.Default/Window.xaml

@@ -7,8 +7,8 @@
       <Border Background="{TemplateBinding Background}">
         <AdornerDecorator>
           <ContentPresenter Name="PART_ContentPresenter" 
-                            Content="{TemplateBinding Content}" 
                             ContentTemplate="{TemplateBinding ContentTemplate}"
+                            Content="{TemplateBinding Content}" 
                             Margin="{TemplateBinding Padding}"/>
         </AdornerDecorator>
       </Border>