Как создать средство визуализации ListView с возможностью перелистывания в Xamarin UWP

У меня есть приложение, состоящее из TabbedPage, содержащего пользовательский ContentViews.

В основном ContentView у меня есть пользовательский ListView, у которого есть ListViewRenderer в Xamarin UWP.

Элементы ListView имеют шаблон:

<DataTemplate x:Key="ListViewItemTemplate">
    <Grid x:Name="grid">
        <Grid.RowDefinitions>
            <RowDefinition Height="Auto" />
            <RowDefinition Height="Auto" />
        </Grid.RowDefinitions>
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="*" />
            <ColumnDefinition Width="Auto" />
            <ColumnDefinition Width="Auto" />
        </Grid.ColumnDefinitions>
        <!--  TEXT -->
        <TextBlock Grid.Column="0"
                   Margin="5"
                   VerticalAlignment="Center"
                   Foreground="Black"
                   Text="{Binding ActualText}"
                   TextWrapping="WrapWholeWords" />
        <!--  CC -->
        <my:CustomControl Grid.Column="1"
            ActualCValue="{Binding ActualValue, Mode=TwoWay}" />
        <!--  PICKER  -->
        <ComboBox x:Name="cboxPicker"
                  Grid.Column="2"
                  Width="90"
                  Margin="3"
                  VerticalAlignment="Center"
                  ItemsSource="{StaticResource  dataSource}"
                  SelectedIndex="{Binding ActualValue,
                                          Mode=TwoWay}" />
        <!--  SEP -->
        <Border Grid.Row="1"
                Grid.ColumnSpan="3"
                BorderBrush="Gray"
                BorderThickness="1" />
    </Grid>
</DataTemplate>

К сожалению, когда я пытаюсь использовать свайп, вкладки не меняются.

Если я использую встроенный Xamarin.Forms ListView с элементами, состоящими из изображения и текста, он работает нормально.

Это может быть связано с тем, что кнопка захватила фокус (предположение).

Что мне нужно изменить, чтобы мой пользовательский ListViewRenderer работал с пролистыванием?


person Nestor    schedule 13.10.2016    source источник
comment
Я думаю, вы имеете в виду, если я использую встроенный Xamarin.Forms ListViewRenderer... однако я вообще не вижу ListView в вашем XAML. Может помочь, если вы сможете создать MCVE: stackoverflow.com/help/mcve   -  person jgoldberger - MSFT    schedule 14.10.2016


Ответы (1)


Поскольку я использовал ListViewRenderer, в коде XAML не было ListView (он предоставляется только модулем визуализации).

Однако проблема заключалась в ListView конфигурации, которую я использовал в своем пользовательском модуле визуализации.

У меня было это:

(Control as SemanticZoom)?.ManipulationMode = Windows.UI.Xaml.Input.ManipulationModes.None;

Теперь я использую это, и свайп работает нормально:

(Control as SemanticZoom)?.ManipulationMode = Windows.UI.Xaml.Input.ManipulationModes.System;
person Nestor    schedule 18.10.2016