소스 검색

Added user control styling support

Wiesław Šoltés 7 년 전
부모
커밋
c3ec5c543f
3개의 변경된 파일17개의 추가작업 그리고 1개의 파일을 삭제
  1. 1 1
      src/Avalonia.Controls/UserControl.cs
  2. 1 0
      src/Avalonia.Themes.Default/DefaultTheme.xaml
  3. 15 0
      src/Avalonia.Themes.Default/UserControl.xaml

+ 1 - 1
src/Avalonia.Controls/UserControl.cs

@@ -28,7 +28,7 @@ namespace Avalonia.Controls
         }
 
         /// <inheritdoc/>
-        Type IStyleable.StyleKey => typeof(ContentControl);
+        Type IStyleable.StyleKey => typeof(UserControl);
 
         /// <inheritdoc/>
         void INameScope.Register(string name, object element)

+ 1 - 0
src/Avalonia.Themes.Default/DefaultTheme.xaml

@@ -35,6 +35,7 @@
   <StyleInclude Source="resm:Avalonia.Themes.Default.Expander.xaml?assembly=Avalonia.Themes.Default"/>
   <StyleInclude Source="resm:Avalonia.Themes.Default.TreeView.xaml?assembly=Avalonia.Themes.Default"/>
   <StyleInclude Source="resm:Avalonia.Themes.Default.TreeViewItem.xaml?assembly=Avalonia.Themes.Default"/>
+  <StyleInclude Source="resm:Avalonia.Themes.Default.UserControl.xaml?assembly=Avalonia.Themes.Default"/>
   <StyleInclude Source="resm:Avalonia.Themes.Default.Window.xaml?assembly=Avalonia.Themes.Default"/>
   <StyleInclude Source="resm:Avalonia.Themes.Default.EmbeddableControlRoot.xaml?assembly=Avalonia.Themes.Default"/>
   <StyleInclude Source="resm:Avalonia.Themes.Default.CalendarButton.xaml?assembly=Avalonia.Themes.Default"/>

+ 15 - 0
src/Avalonia.Themes.Default/UserControl.xaml

@@ -0,0 +1,15 @@
+<Style xmlns="https://github.com/avaloniaui" Selector="UserControl">
+  <Setter Property="Template">
+    <ControlTemplate>
+      <ContentPresenter Name="PART_ContentPresenter"
+                        Background="{TemplateBinding Background}"
+                        BorderBrush="{TemplateBinding BorderBrush}"
+                        BorderThickness="{TemplateBinding BorderThickness}"
+                        ContentTemplate="{TemplateBinding ContentTemplate}"
+                        Content="{TemplateBinding Content}"
+                        Padding="{TemplateBinding Padding}"
+                        VerticalContentAlignment="{TemplateBinding VerticalContentAlignment}"
+                        HorizontalContentAlignment="{TemplateBinding HorizontalContentAlignment}"/>
+    </ControlTemplate>
+  </Setter>
+</Style>