由ListBox传递并由ScrollViewer处理的滚动

时间:2013-05-23 09:25:52

标签: xaml windows-8

在Windows 8应用程序中,我有这样的结构:

<ScrollViewer HorizontalScrollMode="Disabled">
    <Grid>
       <TextBlock/>
       <ListBox ScrollViewer.VerticalScrollBarVisibility="Disabled"/>
       <TextBlock/>
       <ListBox ScrollViewer.VerticalScrollBarVisibility="Disabled"/>
       <TextBlock/>
       <ListBox ScrollViewer.VerticalScrollBarVisibility="Disabled"/>
    </Grid>
</ScrollViewer>

我需要通过ScrollViewer处理滚动(现在每个ListBox都处理它)。没有添加IsEnabled="false"可以吗?

1 个答案:

答案 0 :(得分:1)

将此资源添加到您的ScrollViewer中,这可以解决您的问题:

<ScrollViewer.Resources>
    <Style TargetType="{x:Type ListBox}">
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="{x:Type ListBox}">
                    <ItemsPresenter></ItemsPresenter>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>
</ScrollViewer.Resources>
通过这种方式,您可以消除通常属于ScrollViewer模板

ListBox