Version:
1.1 | 2.0

Rating

in namespace DotVVM.BusinessPack.Controls

Renders a horizontal set of points representing a rating. If enabled, the user can select one of these points to set the rating.

Properties

Name Type Description Notes Default Value
property icon AllowHalfPoints Boolean Gets or sets whether to display half points and allow the user to select half point values.
attribute
inner element
static value
bindable
default
True
property icon AllowPreviewOnHover Boolean Gets or sets whether to display a preview of the selected value when user hovers over the control.
attribute
inner element
static value
bindable
default
True
property icon Attributes Dictionary<String,Object>
attribute
inner element
static value
bindable
default
property icon Enabled Boolean Gets or sets whether the control responds to user actions.
attribute
inner element
static value
bindable
default
False
property icon MaxValue Int32 Gets or sets the maximum value that the Value can reach.
attribute
inner element
static value
bindable
default
5
property icon PointIcon SvgIconBase
attribute
inner element
static value
bindable
default
property icon Value Double? Gets or sets the current value of the Rating.
attribute
inner element
static value
bindable
default
property icon Visible Boolean
attribute
inner element
static value
bindable
default

Events

Name Type Description
event icon Changed Command Gets or sets the command that is called when Value changes.

Usage & Scenarios

Displays several stars (or any other symbols) and lets the user any number of them.

HTML Rendered by the Control

Sample 1: Basic Usage

The Value property represents a number of stars selected by the user.

The MaxValue specifies the number of stars to be displayed.

<bp:Rating Value="{value: Rating}"
           MaxValue="5" />
using DotVVM.Framework.ViewModel;

namespace DotvvmWeb.Views.Docs.Controls.businesspack.Rating.sample1
{
    public class ViewModel : DotvvmViewModelBase
    {
        public double Rating { get; set; } = 4.5;
    }
}

Sample 2: Configuration

The AllowHalfPoints allows to select half of a star to be able to get more precise rating. By default, the user can select only the entire star.

The AllowPreviewOnHover property can be used to disable the hover effect that indicates which stars will be selected on click.

<bp:Rating Value="{value: Rating}"
           MaxValue="5"
           AllowHalfPoints="false"
           AllowPreviewOnHover="false" />
using DotVVM.Framework.ViewModel;

namespace DotvvmWeb.Views.Docs.Controls.businesspack.Rating.sample2
{
    public class ViewModel : DotvvmViewModelBase
    {
        public double Rating { get; set; } = 4;
    }
}

Sample 3: Changed Event

The Changed property specifies a command in the viewmodel that is triggered whenever the user changes the rating.

<bp:Rating Value="{value: Rating}"
           MaxValue="5"
           Changed="{command: RatingChanged()}" />

<p>Rating has changed {{value: ChangeCount}} times.</p>
using DotVVM.Framework.ViewModel;

namespace DotvvmWeb.Views.Docs.Controls.businesspack.Rating.sample3
{
    public class ViewModel : DotvvmViewModelBase
    {
        public double Rating { get; set; } = 4.5;
        public int ChangeCount { get; set; }

        public void RatingChanged()
        {
            ChangeCount++;
        }
    }
}

Sample 4: Custom Icons

The icon used by the control can be customized using the following inner elements:

  • PointIcon represents an icon that user can select. The default is Star icon.

See the Icon documentation to find about using other icon packs.

<bp:Rating Value="{value: Rating}"
           MaxValue="5">
    <PointIcon>
        <bp:Icon Icon="Plus"></bp:Icon>
    </PointIcon>
</bp:Rating>
using DotVVM.Framework.ViewModel;

namespace DotvvmWeb.Views.Docs.Controls.businesspack.Rating.sample4
{
    public class ViewModel : DotvvmViewModelBase
    {
        public double Rating { get; set; } = 3.5;
    }
}

Suggestions

Help & Contribute

The documentation is maintained on GitHub.
We'll be happy if you edit the page and create a pull request.

Edit on Github

Send message