You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MAUI中如何设置Syncfusion SfListView的加载指示器颜色?

设置MAUI中Syncfusion SfListView懒加载指示器的颜色

有两种常用方式可以修改加载指示器的颜色,以下是具体实现:

方式一:使用内置样式属性修改

SfListView提供了LoadMoreIndicatorStyle属性,可直接通过设置该样式的Color属性改变指示器颜色。在你的XAML代码中添加如下配置:

<listView:SfListView Grid.Row="2" Grid.Column="0"
                     x:Name="ListView"
                     ItemsSource="{Binding Results}"
                     AutoFitMode="Height"
                     LoadMoreOption="Auto"
                     LoadMoreCommand="{Binding LoadMoreItemsCommand}"
                     LoadMoreCommandParameter="{Binding Source={x:Reference ListView}}"
                     IsVisible="{Binding IsAvailable}" >

    <!-- 加载指示器样式配置 -->
    <listView:SfListView.LoadMoreIndicatorStyle>
        <listView:LoadMoreIndicatorStyle Color="#FF5722" /> <!-- 替换为你需要的颜色值 -->
    </listView:SfListView.LoadMoreIndicatorStyle>

    <!-- 原有ItemTemplate保持不变 -->
    <listView:SfListView.ItemTemplate>
        <DataTemplate x:DataType="contracts:MyDto">
                <VerticalStackLayout Margin="0,0,0,30">

                    <VerticalStackLayout.GestureRecognizers>
                        <TapGestureRecognizer Command="{Binding Source={RelativeSource AncestorType={x:Type viewModels:MyViewModel}}, Path=TapEntryCommand}"
                                              CommandParameter="{Binding}"/>
                    </VerticalStackLayout.GestureRecognizers>

                    <HorizontalStackLayout>
                        <Label Text="(" />
                        <Label Text="{Binding Date, StringFormat='{0:dd.MM.yyyy}'}" />
                        <Label Text=")" />
                    </HorizontalStackLayout>

                </VerticalStackLayout>
        </DataTemplate>
    </listView:SfListView.ItemTemplate>

</listView:SfListView>

方式二:自定义加载指示器模板

如果需要更个性化的加载效果(比如组合文字与指示器),可以使用LoadMoreTemplate完全自定义加载视图,按需设置元素颜色:

<listView:SfListView Grid.Row="2" Grid.Column="0"
                     x:Name="ListView"
                     ItemsSource="{Binding Results}"
                     AutoFitMode="Height"
                     LoadMoreOption="Auto"
                     LoadMoreCommand="{Binding LoadMoreItemsCommand}"
                     LoadMoreCommandParameter="{Binding Source={x:Reference ListView}}"
                     IsVisible="{Binding IsAvailable}" >

    <!-- 自定义加载模板 -->
    <listView:SfListView.LoadMoreTemplate>
        <DataTemplate>
            <VerticalStackLayout Padding="20" HorizontalOptions="Center">
                <ActivityIndicator Color="#2196F3" IsRunning="True" />
                <Label Text="加载更多中..." Margin="0,10,0,0" TextColor="#2196F3" />
            </VerticalStackLayout>
        </DataTemplate>
    </listView:SfListView.LoadMoreTemplate>

    <!-- 原有ItemTemplate保持不变 -->
    <listView:SfListView.ItemTemplate>
        <DataTemplate x:DataType="contracts:MyDto">
                <VerticalStackLayout Margin="0,0,0,30">

                    <VerticalStackLayout.GestureRecognizers>
                        <TapGestureRecognizer Command="{Binding Source={RelativeSource AncestorType={x:Type viewModels:MyViewModel}}, Path=TapEntryCommand}"
                                              CommandParameter="{Binding}"/>
                    </VerticalStackLayout.GestureRecognizers>

                    <HorizontalStackLayout>
                        <Label Text="(" />
                        <Label Text="{Binding Date, StringFormat='{0:dd.MM.yyyy}'}" />
                        <Label Text=")" />
                    </HorizontalStackLayout>

                </VerticalStackLayout>
        </DataTemplate>
    </listView:SfListView.ItemTemplate>

</listView:SfListView>

说明

  • 方式一适合快速修改默认指示器颜色,支持十六进制颜色值、系统命名颜色等;
  • 方式二适合需要自定义加载布局的场景,可自由组合控件并分别设置样式。

内容的提问来源于stack exchange,提问作者Frank Mehlhop

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.11 06:36:00