wpf - 带有滚动条的区域上的白色方块
问题描述
我有一个自定义的滚动条样式,但它有这个烦人的小白方块。我想删除它,有什么想法吗?
烦人的小白方块:
编辑:我想它可能是一个重复按钮
解决方案
这个问题显然与你的风格有关。
以及如何在没有看到这种风格的情况下回答您的问题?
根据我尝试猜测您可能拥有的样式,但我假设您没有更改默认的 ScrollViewer 模板,您只需为其属性设置值。
如果您查看默认模板,则x:Name="Corner"
在 ScrollBar 之间的角上有一个矩形。
<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
key设置{x:Static SystemColors.ControlBrushKey}
。
因此,您可以在不更改模板的情况下创建一个具有相同键但颜色不同的新资源。
资源可以设置在您设置样式的相同位置。
定义此资源的示例:
<SolidColorBrush x:Key="{x:Static SystemColors.ControlBrushKey}"
Color="Red"/>
如果您确实更改了模板,那么您可以简单地删除这个矩形,那么这个角将是 ScrollViewer 的背景颜色。
您还可以在移除它之后,将其中一个 ScrollBars 拉伸到该角。
推荐阅读
- android - 无法使用内容解析器打开 PDF
- sql-server - SQL Server 更改数据捕获 - 操作类型 3 在非 NULL 字段中显示 NULLS
- async-await - 如何在 python 中触发并忘记发布请求
- powerbi - 我想在 power bi dax 中查看所选日期后 7 天的数据
- android - SetRepeating() 方法 Android [Xamarin.Forms] 中的动态间隔
- javascript - 如何更正javascript中的添加功能
- objective-c - UiScrollview 内容在后台重复
- ios - 视频质量变化不会立即反映在 iOS 的 Kaltura 播放器中
- reactjs - 如何从 woocommerce 获取数据到 ractnative 移动应用程序
- html - doxygen 标记文件目录