Приложение для магазина Windows 8. Посмотреть список. Прокрутка сенсорного элемента и указатель *

1

У меня есть listView с элементами:

<Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
    <ListView x:Name="_listView" SelectionMode="None" VerticalAlignment="Center" 
                  ScrollViewer.VerticalScrollMode="Disabled"
                  ScrollViewer.HorizontalScrollBarVisibility="Hidden" 
                  ScrollViewer.HorizontalScrollMode="Enabled" IsTapEnabled="False" IsHoldingEnabled="False" IsSwipeEnabled="False">
        <ListView.ItemsPanel>
            <ItemsPanelTemplate>
                <StackPanel Orientation="Horizontal"/>
            </ItemsPanelTemplate>
        </ListView.ItemsPanel>
    </ListView>
</Grid>


public MainPage()
    {
        this.InitializeComponent();
        for (int i = 0; i < 30; i++) 
        {
            Border _border = new Border();
            _border.Width = 400;
            _border.Height = 300;
            _border.Background = new SolidColorBrush(Windows.UI.Color.FromArgb(255, 0, 255, 255));
            _border.PointerPressed += _border_PointerPressed;
            _border.PointerReleased += _border_PointerReleased;
            _border.PointerExited += _border_PointerExited;
            _border.PointerEntered += _border_PointerEntered;
            //_border.ManipulationMode = ManipulationModes.All;
            _listView.Items.Add(_border);
        }
    }

    void _border_PointerEntered(object sender, PointerRoutedEventArgs e)
    {
        Border border = sender as Border;
        border.Background = new SolidColorBrush(Windows.UI.Color.FromArgb(255, 255, 255, 0));
    }

    void _border_PointerExited(object sender, PointerRoutedEventArgs e)
    {
        Border border = sender as Border;
        border.Background = new SolidColorBrush(Windows.UI.Color.FromArgb(255, 0, 255, 255));
    }

    void _border_PointerReleased(object sender, PointerRoutedEventArgs e)
    {
        Border border = sender as Border;
        border.Background = new SolidColorBrush(Windows.UI.Color.FromArgb(255, 0, 255, 255));
    }

    void _border_PointerPressed(object sender, PointerRoutedEventArgs e)
    {
        Border border = sender as Border;
        border.Background = new SolidColorBrush(Windows.UI.Color.FromArgb(255, 255, 255, 0));
    }

Когда я пытаюсь использовать touch в элементах - PointerExited, PointerReleased, PointerMoved - не уволен. Если я раскомментирую _border.ManipulationMode = ManipulationModes.All - события запущены, но прокрутка не работает :( Скажите, пожалуйста, если это pussibele, как добиться триггера этих событий и прокрутки? Спасибо.

  • 0
    Что вы пытаетесь достичь? Вы можете использовать кнопку?
  • 0
    У меня есть UserControl с изображением. Я хочу показать Border (с пользовательскими BorderBrush и BorderThickness), когда указатель находится в элементе управления. И скрыть, когда указатель вышел. Спасибо. Извините за мой английский. :(
Показать ещё 3 комментария
Теги:
windows-8.1
windows-8

1 ответ

0

Попробуйте использовать ManipulationModes.All|ManipulationModes.System.

  • 0
    Информация WinRT: недопустимая комбинация ManipulationModes. Дополнительная информация: параметр неверен. :(
  • 0
    Попробуйте только те варианты, которые вы используете

Ещё вопросы

Сообщество Overcoder
Наверх
Меню