如何在Xamarin UWP中创建可滑动的ListView渲染器

时间:2016-10-13 12:38:39

标签: xamarin uwp xamarin.uwp

我的应用程序由[ { src: "path/to/image/image.jpg" }, { src: "path/to/image/otherimage.jpg" } ] 组成,其中包含自定义TabbedPage

在主ContentViews我有一个自定义ContentView,在Xamarin UWP中有一个ListView

ListView项目有一个模板:

ListViewRenderer

不幸的是,当我尝试使用滑动时,标签不会改变。

如果我将内置Xamarin.Forms ListView 与包含图像和文本的项目一起使用,它可以正常工作。

这可能与Button捕获焦点(假设)有关。

我应该更改哪些内容以使我的自定义<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> 能够使用滑动?

1 个答案:

答案 0 :(得分:0)

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

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

我有这个:

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

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

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