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