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