WPF:ItemsControl的边框不可见

时间:2011-06-05 22:25:52

标签: wpf wpf-controls itemscontrol

我按照this blog中的说明将ScrollIntoView添加到ItemsControl

但这会使边界不可见:

<ItemsControl BorderBrush="Black"
              BorderThickness="3">
    <ItemsControl.Template>
        <ControlTemplate>
            <ScrollViewer Padding="{TemplateBinding Padding}">
                <ItemsPresenter />
            </ScrollViewer>
        </ControlTemplate>
    </ItemsControl.Template>
    <TextBlock Text="Test" />
    <TextBlock Text="Test" />
    <TextBlock Text="Test" />
</ItemsControl>

为了显示边框,我必须删除:

<ItemsControl.Template>
    <ControlTemplate>
        <ScrollViewer Padding="{TemplateBinding Padding}">
            <ItemsPresenter />
        </ScrollViewer>
    </ControlTemplate>
</ItemsControl.Template>

但是这样我就无法使用ScrollIntoView方法了。

有什么想法吗?感谢

1 个答案:

答案 0 :(得分:5)

您需要在模板中包含边框。

                <ControlTemplate>
                    <Border Background="{TemplateBinding Background}"
                        BorderBrush="{TemplateBinding BorderBrush}"
                        BorderThickness="{TemplateBinding BorderThickness}">
                        <ScrollViewer Padding="{TemplateBinding Padding}">
                            <ItemsPresenter />

                        </ScrollViewer>
                    </Border>
                </ControlTemplate>