0

我有一个小问题。我想在带有滚动条的 stackPanel 中放置一个视图。基本上,这就是我尝试这样做的方式:

<DataTemplate x:Key="FirstTemplate">
    <vw:FirstView DataContext="{Binding}"></vw:FirstView>
</DataTemplate>

<DataTemplate x:Key="SecondTemplate">
    <vw:SecondView DataContext="{Binding}"></vw:SecondView>
</DataTemplate>

<DataTemplate x:Key="ThirdTemplate">
    <vw:ThirdView DataContext="{Binding}"></vw:ThirdView>
</DataTemplate>

<selector:DimensionTemplateSelector x:Key="SomeTemplateSelector"   
    FirstTemplate="{StaticResource FirstTemplate}"  
    SecondTemplate="{StaticResource SecondTemplate}" 
    ThirdTemplate="{StaticResource ThirdTemplate}">
</selector:DimensionTemplateSelector>


<ScrollViewer HorizontalScrollBarVisibility="Disabled" VerticalScrollBarVisibility="Auto">
    <StackPanel>
        <ContentControl ContentTemplateSelector="{StaticResource SomeTemplateSelector}"  
                        Content="{Binding ASelectedValue}" />
    </StackPanel>
</ScrollViewer>

这段代码的问题是,只有当我的鼠标位于滚动条区域上时,我才能使用鼠标滚轮滚动。如果我的鼠标在 stackPanel 内(因此,在 ScrollViewer 标签内)但不直接位于滚动条区域上方,则尝试使用鼠标滚轮滚动不会产生任何结果。

我很不确定,但似乎我应该为我的 contentControl 定义一个行为,以便它可以处理滚动。任何人都知道如何做到这一点或有更好的解释?

谢谢

4

0 回答 0