去除WPF中GroupBox边框的白边
2016-12-15 09:11
369 查看
使用WPF中的GroupBox控件时,如果背景色不是白色,那么会在GroupBox边框出现白边,如图1所示:
图1
经过一番网上搜索,最终发现解决方法:“WPF――――4.去除GroupBox白色间隔”,效果如图2所示:
图2
代码如下:
项目下载
图1
经过一番网上搜索,最终发现解决方法:“WPF――――4.去除GroupBox白色间隔”,效果如图2所示:
图2
代码如下:
<Window.Resources> <BorderGapMaskConverter x:Key="BorderGapMaskConverter"/> <Style x:Key="GroupboxWithoutWhiteBorder" TargetType="{x:Type GroupBox}"> <Setter Property="BorderBrush" Value="#D5DFE5" /> <Setter Property="BorderThickness" Value="1" /> <Setter Property="Template"> <Setter.Value> <ControlTemplate TargetType="{x:Type GroupBox}"> <Grid SnapsToDevicePixels="true"> <Grid.ColumnDefinitions> <ColumnDefinition Width="6" /> <ColumnDefinition Width="Auto" /> <ColumnDefinition Width="*" /> <ColumnDefinition Width="6" /> </Grid.ColumnDefinitions> <Grid.RowDefinitions> <RowDefinition Height="Auto" /> <RowDefinition Height="Auto" /> <RowDefinition Height="*" /> <RowDefinition Height="6" /> </Grid.RowDefinitions> <Border CornerRadius="4" Grid.Row="1" Grid.RowSpan="3" Grid.Column="0" Grid.ColumnSpan="4" BorderThickness="{TemplateBinding BorderThickness}" BorderBrush="Transparent" Background="{TemplateBinding Background}" /> <Border Name="Header" Padding="3,1,3,0" Grid.Row="0" Grid.RowSpan="2" Grid.Column="1"> <ContentPresenter ContentSource="Header" RecognizesAccessKey="true" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" /> </Border> <ContentPresenter Grid.Row="2" Grid.Column="1" Grid.ColumnSpan="2" Margin="{TemplateBinding Padding}" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" /> <Border Grid.Row="1" Grid.RowSpan="3" Grid.ColumnSpan="4" BorderThickness="{TemplateBinding BorderThickness}" BorderBrush="{TemplateBinding BorderBrush}" CornerRadius="3"> <Border.OpacityMask> <MultiBinding Converter="{StaticResource BorderGapMaskConverter}" ConverterParameter="7"> <Binding ElementName="Header" Path="ActualWidth" /> <Binding Path="ActualWidth" RelativeSource="{RelativeSource Self}" /> <Binding Path="ActualHeight" RelativeSource="{RelativeSource Self}" /> </MultiBinding> </Border.OpacityMask> </Border> </Grid> </ControlTemplate> </Setter.Value> </Setter> </Style> </Window.Resources> <Grid Background="Green"> <GroupBox Header="WPF边框白边" Margin="20" Style="{StaticResource GroupboxWithoutWhiteBorder}"/> </Grid>
项目下载
相关文章推荐
- WPF 去除系统窗体边框,自定义移动窗体
- winform 取消GroupBox的边框线
- WPF控件之GroupBox
- 解决Linux 下qt QGroupbox 边框不显示问题
- C# 修改GroupBox的边框颜色和字体颜色
- 完美去除WPF按钮的边框
- C#更改groupbox边框颜色
- 微软的GroupBox边框颜色的改变 ~!
- WPF 窗口去除顶部边框(正宗无边框)
- C#:如何去掉groupbox的边框线
- WPF GroupBox样式( 设置窗口样式 设置 ResizeGrip )
- 潘鹏整理WPF(6)带标题的内容控件GroupBox&&Expander&&TabControl
- winform c# groupBox 的边框颜色
- QGroupBox边框设置 2011-11-09 19:28:59
- C#:如何去掉groupbox的边框线
- WPF GroupBox 样式分享
- winform c# 重绘groupBox 的边框颜色
- WPF去除窗体边框及白色边框
- C# WinFrom 去掉groupbox的边框
- winform c# groupBox 的边框颜色