无法在WPF中完全设置ListBox/Scrollviewer的样式

DJS*_*rib 12 wpf listbox scrollbar scrollviewer

我正在使用我们使用标准ControlTemplates创建的自定义Scrollbars,但是当我将它们应用到ListBox时,右下角有一个角落,我无法找到任何覆盖方式.

不幸的是,在我获得更多分数之前,我无法发布图片.但我所指的角落是当垂直和水平滚动条都出现时,右下方有一个空间,里面充满了灰白色的颜色,我无法消除

vik*_*iky 11

这是我使用Blend为ScrollViewer获取的模板代码的一部分.我在右下角添加了一个矩形,并将填充设置为红色.您可以使用相同的方式设置样式,也可以使用Grid.RowSpan ="2"(对于VerticalScrollBar(第一个))或Grid.ColumnSpan ="2"(Horizo​​ntalScrollBar(第二个))展开其中一个ScrollBar以覆盖空间.

<Style TargetType="{x:Type ScrollViewer}">
    <Setter Property="Template">
        <Setter.Value>
            <ControlTemplate TargetType="{x:Type ScrollViewer}">
                <Grid>
                    <Grid.ColumnDefinitions>
                        <ColumnDefinition/>
                        <ColumnDefinition Width="Auto"/>
                    </Grid.ColumnDefinitions>
                    <Grid.RowDefinitions>
                        <RowDefinition/>
                        <RowDefinition Height="Auto"/>
                    </Grid.RowDefinitions>
                    <ScrollContentPresenter Grid.Column="0"/>
                    <ScrollBar Name="PART_VerticalScrollBar" Grid.Row="0" Grid.Column="1" Value="{TemplateBinding VerticalOffset}" Maximum="{TemplateBinding ScrollableHeight}" ViewportSize="{TemplateBinding ViewportHeight}" Visibility="{TemplateBinding ComputedVerticalScrollBarVisibility}"/>
                    <ScrollBar Name="PART_HorizontalScrollBar" Orientation="Horizontal" Grid.Row="1" Grid.Column="0" Value="{TemplateBinding HorizontalOffset}" Maximum="{TemplateBinding ScrollableWidth}" ViewportSize="{TemplateBinding ViewportWidth}" Visibility="{TemplateBinding ComputedHorizontalScrollBarVisibility}"/>
                    <Rectangle Grid.Row="1" Grid.Column="1" Fill="Red"/>
                </Grid>
            </ControlTemplate>
        </Setter.Value>
    </Setter>
</Style>
Run Code Online (Sandbox Code Playgroud)