WinRT контролирует использование Scrollviewer прокрутки

Моя проблема в том, что у меня есть несколько элементов управления (кнопки, поля со списком, видимые элементы управления при проверке нажатия и т. Д.), Которые находятся поверх средства просмотра прокрутки. Теперь у этих элементов управления нет причин использовать событие изменения колесика указателя, а при проверке они этого не делают. Но кажется, что когда указатель находится над этими элементами управления, и я пытаюсь прокрутить, событие прокрутки не запускается в средстве просмотра прокрутки (я считаю, что фактическое событие, которое должно сработать, - это ViewChanged). Теперь кнопки и прочее должны по-прежнему обрабатывать свои обычные события, такие как PointerPressed, KeyDown и т. Д. Но я хочу, чтобы они не использовали событие, которое заставило бы средство просмотра прокрутки прокручивать. Любые идеи? Заранее спасибо.

Это быстрый пример того, с чем я имею дело:

<Grid>
    <ScrollViewer>
        <StackPanel>
            <!-- Insert any number of things here -->
        </StackPanel>
    </ScrollViewer>

    <Button>Hello World</Button>
</Grid>

person Will Custode    schedule 20.05.2013    source источник
comment
Можете ли вы опубликовать простой пример xaml? Я пытался воспроизвести это, но когда я наводил курсор на кнопку и перемещал колесо прокрутки мыши, программа scrollviewer правильно реагировала. Моя страница проста: одно средство просмотра прокрутки с одной панелью стека внутри. Внутри панели стека находится 50 кнопок.   -  person chue x    schedule 20.05.2013


Ответы (1)


Добавьте событие в элементы управления:

public void UIElement_PointerWheelChanged(object sender, PointerWheelChangedEventArgs e)
{
    e.Handled = false;
}
person Nate Diamond    schedule 21.05.2013