如何在Xamarin.Forms中禁用ListView上的突出显示

dpfauwadel

我正在使用Xamarin.Forms和XAML,并且正在尝试创建一个存储产品列表的应用程序。我将产品列表放在ListView中。这很好。这是我的XAML:

<ListView x:Name="listSushi"
        ItemsSource="{x:Static local:myListSushi.All}"
        SelectedItem="{Binding SelectedItem, Mode=TwoWay}"
        RowHeight="{StaticResource rowHeight}"
        >
<ListView.ItemTemplate>
  <DataTemplate>
    <ViewCell>
      <ViewCell.View>
        <StackLayout Padding="5, 5, 0, 5"
                     Orientation="Horizontal"
                     Spacing="15">
          <StackLayout>
            <Image Source="{Binding ImageSource}" />
          </StackLayout>

          <StackLayout Padding="0, 0, 0, 0"
                       VerticalOptions="Center"
                       HorizontalOptions="FillAndExpand">                
                <Label Text="{Binding Name}"
                   Font="Bold, Medium" />
                <Label Text="{Binding Description}" 
                    Font="Small"/>
          </StackLayout>

          <StackLayout Orientation="Horizontal"
                        Padding="0, 0, 10, 0">
            <Button Text=" - " 
                    HorizontalOptions="EndAndExpand"
                    VerticalOptions="FillAndExpand"
                    Command="{Binding DeleteSushiCommand}"
                    CommandParameter="{Binding Name}"
                    />
            <Label VerticalOptions="Center" 
                   Text="{Binding Number,StringFormat='{0}'}"
                   TextColor="Black"/>
            <Button Text=" + " 
                    HorizontalOptions="EndAndExpand"
                    VerticalOptions="FillAndExpand" 
                    Command="{Binding AddSushiCommand}"
                    CommandParameter="{Binding Name}"
                    />
            </StackLayout>
        </StackLayout>
      </ViewCell.View>
    </ViewCell>
  </DataTemplate>
</ListView.ItemTemplate>

我有一个问题,如果我单击listView的一个单元格,该单元格将突出显示,并保持突出显示状态。我尝试使用xaml.cs中的此代码禁用它

listSushi.ItemSelected+= (object sender, SelectedItemChangedEventArgs e) => {
    // don't do anything if we just de-selected the row
    if (e.SelectedItem == null) return; 
    // do something with e.SelectedItem
    ((ListView)sender).SelectedItem = null; // de-select the row
};

但是,当我触摸一个单元格时,现在我的列表会自动滚动。真奇怪

有谁知道这是一个错误还是一个修复程序,例如是否存在可以禁用突出显示的属性?

马克·拉特

您可以尝试使用ItemTapped事件,即

listSushi.ItemTapped += (object sender, ItemTappedEventArgs e) => {
    // don't do anything if we just de-selected the row.
    if (e.Item == null) return;

    // Optionally pause a bit to allow the preselect hint.
    Task.Delay(500);

    // Deselect the item.
    if (sender is ListView lv) lv.SelectedItem = null;

    // Do something with the selection.
    ...
};

我已经在ListView(在Android设备上)上对此进行了测试,该列表具有足够的项目以将滚动带入混合。我没有看到自动滚动的行为,并且您想要将SelectedItem设置为null以击败突出显示的想法非常有用。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在Xamarin Forms for iOS的ScrollView上禁用弹跳功能?

来自分类Dev

如何在Xamarin Forms中以2列和n行显示单个listview项目

来自分类Dev

如何在Xamarin.Forms上显示Word文件

来自分类Dev

如何在QTableWidget中禁用选择突出显示

来自分类Dev

如何在Eclipse中启用/禁用事件突出显示?

来自分类Dev

如何在JetBrains RubyMine中禁用括号突出显示?

来自分类Dev

如何在Geany中禁用当前行的自动突出显示?

来自分类Dev

如何在Eclipse中启用/禁用事件突出显示?

来自分类Dev

如何在VIM中禁用搜索模式语法突出显示

来自分类Dev

如何在datagridview中禁用选择突出显示(蓝色)

来自分类Dev

如何在Xamarin.Forms中调整Horizontal ListView的大小?

来自分类Dev

如何在xamarin.forms中获得ListView的子级?

来自分类Dev

Xamarin Forms - 如何在 xaml 中创建水平 ListView?

来自分类Dev

如何禁用MPAndroidChart中的突出显示行?

来自分类Dev

如何在Xamarin Forms中的字符串(Listview分组字母)上更改textcolor?

来自分类Dev

Xamarin.Forms禁用ListView中的项目

来自分类Dev

如何在Xamarin.Forms中显示“向上” /“返回”按钮?

来自分类Dev

如何在Xamarin.Forms中显示“向上” /“返回”按钮?

来自分类Dev

如何在Android的水平ListView中突出显示所选的ListItem

来自分类Dev

如何在 Xamarin.Forms-Android 中的 OnAppLinkRequestReceived 上显示启动画面

来自分类Dev

如何在Xamarin Forms中的条目上添加视觉前缀?

来自分类Dev

如何在 Xamarin Forms 中的按钮上创建网格

来自分类Dev

如何在Xamarin中拍照?

来自分类Dev

Xamarin.Forms上的更改页面时如何禁用ListView重新加载项?

来自分类Dev

Xamarin.Forms上的更改页面时如何禁用ListView重新加载项?

来自分类Dev

如何在xamarin.forms上使用xaml在主详细信息页面中显示页面标题?

来自分类Dev

如何禁用phpstorm中的SQL代码突出显示?

来自分类Dev

VSCode:如何禁用doxygen标签在注释中突出显示?

来自分类Dev

如何禁用phpstorm中的SQL代码突出显示?

Related 相关文章

  1. 1

    如何在Xamarin Forms for iOS的ScrollView上禁用弹跳功能?

  2. 2

    如何在Xamarin Forms中以2列和n行显示单个listview项目

  3. 3

    如何在Xamarin.Forms上显示Word文件

  4. 4

    如何在QTableWidget中禁用选择突出显示

  5. 5

    如何在Eclipse中启用/禁用事件突出显示?

  6. 6

    如何在JetBrains RubyMine中禁用括号突出显示?

  7. 7

    如何在Geany中禁用当前行的自动突出显示?

  8. 8

    如何在Eclipse中启用/禁用事件突出显示?

  9. 9

    如何在VIM中禁用搜索模式语法突出显示

  10. 10

    如何在datagridview中禁用选择突出显示(蓝色)

  11. 11

    如何在Xamarin.Forms中调整Horizontal ListView的大小?

  12. 12

    如何在xamarin.forms中获得ListView的子级?

  13. 13

    Xamarin Forms - 如何在 xaml 中创建水平 ListView?

  14. 14

    如何禁用MPAndroidChart中的突出显示行?

  15. 15

    如何在Xamarin Forms中的字符串(Listview分组字母)上更改textcolor?

  16. 16

    Xamarin.Forms禁用ListView中的项目

  17. 17

    如何在Xamarin.Forms中显示“向上” /“返回”按钮?

  18. 18

    如何在Xamarin.Forms中显示“向上” /“返回”按钮?

  19. 19

    如何在Android的水平ListView中突出显示所选的ListItem

  20. 20

    如何在 Xamarin.Forms-Android 中的 OnAppLinkRequestReceived 上显示启动画面

  21. 21

    如何在Xamarin Forms中的条目上添加视觉前缀?

  22. 22

    如何在 Xamarin Forms 中的按钮上创建网格

  23. 23

    如何在Xamarin中拍照?

  24. 24

    Xamarin.Forms上的更改页面时如何禁用ListView重新加载项?

  25. 25

    Xamarin.Forms上的更改页面时如何禁用ListView重新加载项?

  26. 26

    如何在xamarin.forms上使用xaml在主详细信息页面中显示页面标题?

  27. 27

    如何禁用phpstorm中的SQL代码突出显示?

  28. 28

    VSCode:如何禁用doxygen标签在注释中突出显示?

  29. 29

    如何禁用phpstorm中的SQL代码突出显示?

热门标签

归档