首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >带滚动条区域的白色方格

带滚动条区域的白色方格
EN

Stack Overflow用户
提问于 2021-08-17 03:18:24
回答 1查看 184关注 0票数 0

我有一个定制的滚动条风格,但它有一个恼人的小白色广场。我想移除它,有什么想法吗?

烦人的小白方:

编辑:我想这可能是个重复按钮。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-08-17 07:14:42

这个问题显然与你的风格有关。

如何在没有看到这种风格的情况下回答你的问题?

基于我试图猜测样式中可能包含的内容,但假设您不更改默认的ScrollViewer模板,您只能为其属性设置值。

如果您查看默认模板,在滚动条之间的角上有一个矩形x:Name="Corner"

代码语言:javascript
运行
复制
<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}键设置。

因此,在不更改模板的情况下,您所能做的就是用相同的键创建一个新的资源,但是使用不同的颜色。

资源可以设置在您设置样式的相同位置。

定义此资源的示例:

代码语言:javascript
运行
复制
    <SolidColorBrush x:Key="{x:Static SystemColors.ControlBrushKey}"
                     Color="Red"/>

如果您确实更改了模板,那么您可以简单地删除这个矩形,然后这个角将是ScrollViewer的背景色。

您也可以在移除它之后,将其中一个ScrollBars伸向这个角落。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68811283

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档