评分控件

评分控件使用户能够查看和设置反映内容和服务满意度的评分。 用户可以使用触摸、笔、鼠标、游戏板或键盘与分级控件进行交互。 下列指南介绍了如何使用分级控件的功能提供灵活性和自定义功能。

评分控件示例

概述

分级控件可用于输入分级,或设为只读控件以显示分级。

带占位符值的可编辑评分

很可能使用评分控件的最常见方法是显示平均评分,同时仍然允许用户输入他们自己的评分值。 在这种方案中,评分控件最初设置为反映所有用户对某一具体服务或内容类型(如音乐、视频、书籍等)的平均满意度。 它将保持这种状态,直到有用户出于单独为某一项评分的目的与此控件交互。 此交互更改评分控件的状态以反映该用户的个人满意度评分。

初始平均评分状态

初始平均评分状态

设置后的用户评分表示

设置后的用户评分表示

只读评分模式

有时,你需要显示辅助内容评分,如在推荐内容中显示或在显示评论及其相应评分的列表时显示的内容。 在这种情况下,用户应该不能编辑评分,所以你可以将此控件设置为只读。 出于 UI 设计和性能原因,在非常大的虚拟化内容列表中使用评分控件时,也建议使用只读模式。

只读长列表

UWP 和 WinUI 2

重要

本文中的信息和示例针对使用 Windows 应用 SDKWinUI 3 的应用进行优化,但通常适用于使用 WinUI 2 的 UWP 应用。 有关特定于平台的信息和示例,请参阅 UWP API 参考。

本部分包含你在 UWP 或 WinUI 2 应用中使用该控件所需的信息。

UWP 应用的 RatingControl 作为 Windows UI 库 2 的一部分包含在内。 有关详细信息(包括安装说明),请参阅 Windows UI 库。 此控件的 API 同时存在于 Windows.UI.Xaml.ControlsMicrosoft.UI.Xaml.Controls 命名空间中。

建议使用最新的 WinUI 2 来获取所有控件的最新样式、模板和功能。

若要将本文中的代码与 WinUI 2 配合使用,请使用 XAML 中的别名 (我们使用 muxc) 来表示项目中包含的 Windows UI 库 API。 有关详细信息 ,请参阅 WinUI 2 入门

xmlns:muxc="using:Microsoft.UI.Xaml.Controls"

<muxc:RatingControl />

创建分级控件

WinUI 3 库应用包括大多数 WinUI 3 控件、特性和功能的交互式示例。 通过 Microsoft Store 获取应用,或在 GitHub 上获取源代码

可编辑的分级控件

此代码演示如何创建具有占位符值的可编辑分级控件。

<RatingControl x:Name="MyRating" ValueChanged="RatingChanged"/>
private void RatingChanged(RatingControl sender, object args)
{
    if (sender.Value == null)
    {
        MyRating.Caption = "(" + SomeWebService.HowManyPreviousRatings() + ")";
    }
    else
    {
        MyRating.Caption = "Your rating";
    }
}

只读分级控件

此代码演示如何创建只读分级控件。

<RatingControl IsReadOnly="True"/>

附加功能

评分控件有很多可用的附加功能。 有关如何使用这些功能的详细信息,请参阅参考文档。 下面是附加功能的不完整列表:

  • 出色的长列表性能
  • 压缩大小以适合紧凑的 UI 方案
  • 连续值填充和评分
  • 间距自定义
  • 禁用增长动画
  • 星数自定义

获取示例代码