我有一个小问题。我想在带有滚动条的 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 定义一个行为,以便它可以处理滚动。任何人都知道如何做到这一点或有更好的解释?
谢谢