我有一个定制的滚动条风格,但它有一个恼人的小白色广场。我想移除它,有什么想法吗?
烦人的小白方:
编辑:我想这可能是个重复按钮。
发布于 2021-08-17 07:14:42
这个问题显然与你的风格有关。
如何在没有看到这种风格的情况下回答你的问题?
基于我试图猜测样式中可能包含的内容,但假设您不更改默认的ScrollViewer模板,您只能为其属性设置值。
如果您查看默认模板,在滚动条之间的角上有一个矩形x:Name="Corner"
。
<ControlTemplate x:Key="ScrollViewerControlTemplate.Default"
TargetType="{x:Type ScrollViewer}">
<Grid x:Name="Grid" Background="{TemplateBinding Background}">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="*"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<Rectangle x:Name="Corner"
Grid.Column="1" Grid.Row="1"
Fill="{DynamicResource {x:Static SystemColors.ControlBrushKey}}"/>
<ScrollContentPresenter x:Name="PART_ScrollContentPresenter"
Grid.Column="0" Grid.Row="0"
CanContentScroll="{TemplateBinding CanContentScroll}"
CanHorizontallyScroll="False" CanVerticallyScroll="False"
ContentTemplate="{TemplateBinding ContentTemplate}"
Content="{TemplateBinding Content}"
Margin="{TemplateBinding Padding}"/>
<ScrollBar x:Name="PART_VerticalScrollBar"
Grid.Column="1" Grid.Row="0"
AutomationProperties.AutomationId="VerticalScrollBar"
Cursor="Arrow"
Maximum="{TemplateBinding ScrollableHeight}" Minimum="0"
Visibility="{TemplateBinding ComputedVerticalScrollBarVisibility}"
Value="{Binding VerticalOffset, Mode=OneWay, RelativeSource={RelativeSource TemplatedParent}}"
ViewportSize="{TemplateBinding ViewportHeight}"/>
<ScrollBar x:Name="PART_HorizontalScrollBar"
AutomationProperties.AutomationId="HorizontalScrollBar"
Cursor="Arrow"
Grid.Column="0" Grid.Row="1"
Maximum="{TemplateBinding ScrollableWidth}"
Minimum="0"
Orientation="Horizontal"
Visibility="{TemplateBinding ComputedHorizontalScrollBarVisibility}"
Value="{Binding HorizontalOffset, Mode=OneWay, RelativeSource={RelativeSource TemplatedParent}}"
ViewportSize="{TemplateBinding ViewportWidth}"/>
</Grid>
</ControlTemplate>
此矩形的背景色由DynamicResource
设置,并按{x:Static SystemColors.ControlBrushKey}
键设置。
因此,在不更改模板的情况下,您所能做的就是用相同的键创建一个新的资源,但是使用不同的颜色。
资源可以设置在您设置样式的相同位置。
定义此资源的示例:
<SolidColorBrush x:Key="{x:Static SystemColors.ControlBrushKey}"
Color="Red"/>
如果您确实更改了模板,那么您可以简单地删除这个矩形,然后这个角将是ScrollViewer的背景色。
您也可以在移除它之后,将其中一个ScrollBars伸向这个角落。
https://stackoverflow.com/questions/68811283
复制相似问题