فهرست منبع

Use VisualBrush for GroupBox (#19372)

Tim Miller 4 ماه پیش
والد
کامیت
77e9b29388
2فایلهای تغییر یافته به همراه26 افزوده شده و 20 حذف شده
  1. 13 10
      src/Avalonia.Themes.Fluent/Controls/GroupBox.xaml
  2. 13 10
      src/Avalonia.Themes.Simple/Controls/GroupBox.xaml

+ 13 - 10
src/Avalonia.Themes.Fluent/Controls/GroupBox.xaml

@@ -33,16 +33,19 @@
                     CornerRadius="{TemplateBinding CornerRadius}"
                     BorderThickness="{TemplateBinding BorderThickness}"
                     BorderBrush="{TemplateBinding BorderBrush}">
-              <Border.Clip>
-                <CombinedGeometry GeometryCombineMode="Exclude">
-                  <CombinedGeometry.Geometry1>
-                    <RectangleGeometry Rect="{Binding #RootGrid.Bounds}" />
-                  </CombinedGeometry.Geometry1>
-                  <CombinedGeometry.Geometry2>
-                    <RectangleGeometry Rect="{Binding #Header.Bounds}" />
-                  </CombinedGeometry.Geometry2>
-                </CombinedGeometry>
-              </Border.Clip>
+              <Border.OpacityMask>
+                <VisualBrush>
+                  <VisualBrush.Visual>
+                    <Canvas Background="Transparent">
+                      <Rectangle Fill="Transparent"
+                                Width="{Binding #Header.Bounds.Width}"
+                                Height="{Binding #Header.Bounds.Height}"
+                                Canvas.Left="{Binding #Header.Bounds.X}"
+                                Canvas.Top="{Binding #Header.Bounds.Y}"/>
+                    </Canvas>
+                  </VisualBrush.Visual>
+                </VisualBrush>
+              </Border.OpacityMask>
             </Border>
 
             <!-- ContentPresenter for the header -->

+ 13 - 10
src/Avalonia.Themes.Simple/Controls/GroupBox.xaml

@@ -31,16 +31,19 @@
                     CornerRadius="{TemplateBinding CornerRadius}"
                     BorderThickness="{TemplateBinding BorderThickness}"
                     BorderBrush="{TemplateBinding BorderBrush}">
-              <Border.Clip>
-                <CombinedGeometry GeometryCombineMode="Exclude">
-                  <CombinedGeometry.Geometry1>
-                    <RectangleGeometry Rect="{Binding #RootGrid.Bounds}" />
-                  </CombinedGeometry.Geometry1>
-                  <CombinedGeometry.Geometry2>
-                    <RectangleGeometry Rect="{Binding #Header.Bounds}" />
-                  </CombinedGeometry.Geometry2>
-                </CombinedGeometry>
-              </Border.Clip>
+              <Border.OpacityMask>
+                <VisualBrush>
+                  <VisualBrush.Visual>
+                    <Canvas Background="Transparent">
+                      <Rectangle Fill="Transparent"
+                                Width="{Binding #Header.Bounds.Width}"
+                                Height="{Binding #Header.Bounds.Height}"
+                                Canvas.Left="{Binding #Header.Bounds.X}"
+                                Canvas.Top="{Binding #Header.Bounds.Y}"/>
+                    </Canvas>
+                  </VisualBrush.Visual>
+                </VisualBrush>
+              </Border.OpacityMask>
             </Border>
 
             <!-- ContentPresenter for the header -->