1

我有一个应用程序,其中包含一个TabbedPage包含 custom的应用程序ContentViews

主要ContentView我有一个自定义的,在 Xamarin UWPListView中有一个。ListViewRenderer

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与由图像和文本组成的项目一起使用,它可以正常工作。

它可能与 Button 对焦点的捕获有关(假设)。

我应该改变什么以使我的自定义ListViewRenderer与滑动一起工作?

4

1 回答 1

0

当我使用 aListViewRenderer时,XAML 代码中没有 ListView(它仅由渲染器提供)。

然而,问题ListView 在于我在自定义渲染器中使用的配置。

我有这个:

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

现在我使用它,并且滑动正常工作:

(Control as SemanticZoom)?.ManipulationMode = Windows.UI.Xaml.Input.ManipulationModes.System;
于 2016-10-18T07:36:23.047 回答