有关Rating组件的研究——Silverlight学习笔记[41]
我們經(jīng)常能在網(wǎng)上發(fā)現(xiàn)為新聞、博客文章、圖片或是電影視頻的評分功能。在Silverlight中,使用Rating組件便能助我們完成以上的功能。本文將為大家介紹該組件的基礎(chǔ)知識以及自定義應(yīng)用方面等方面的內(nèi)容。
?
組件所在命名空間:
System.Windows.Controls
?
組件常用屬性:
DisplayValue:獲取或設(shè)置Rating組件的實際值。
IsReadOnly:獲取或設(shè)置一個值用來表示Rating組件是否只讀。
ItemContainerStyle:獲取或設(shè)置項目容器的樣式。
ItemCount:獲取或設(shè)置Rating項目的數(shù)量。
SelectionMode:獲取或設(shè)置Rating組件的選擇模式。
Value:獲取或設(shè)置Rating組件的值。
?
組件常用事件:
ValueChanged:當(dāng)Rating組件的值發(fā)生改變時觸發(fā)該事件。
?
實例:
說明:自定義Rating組件的樣式,可以通過Expression Blend來完成。
詳細的內(nèi)容在代碼注釋中給出。[源代碼下載]
?
MainPage.xaml文件代碼:
<UserControl
?? ?xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
?? ?xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
?? ?xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
?? ?mc:Ignorable="d" xmlns:inputToolkit="clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls.Input.Toolkit" xmlns:System_Windows_Controls_Primitives="clr-namespace:System.Windows.Controls.Primitives;assembly=System.Windows.Controls.Input.Toolkit" x:Class="SilverlightClient.MainPage"
?? ?d:DesignWidth="320" d:DesignHeight="240">
??? <UserControl.Resources>
??? ??? <!--“很囧”的樣式開始-->
??????? <Style x:Key="EmbarrassedTemplate" TargetType="inputToolkit:RatingItem">
??????????? <Setter Property="BorderBrush" Value="#FF545454"/>
??????????? <Setter Property="Template">
?????? ?????????<Setter.Value>
??????? <ControlTemplate TargetType="inputToolkit:RatingItem">
??????????? <Grid>
??????????????? <VisualStateManager.VisualStateGroups>
??????????????????? <!--填充狀態(tài)組開始-->
??????????????????? <VisualStateGroup x:Name="FillStates">
??????????????????????? <VisualState x:Name="Empty"/>
??????????????????????? <VisualState x:Name="Partial">
??????????????????????? ??? <Storyboard>
??????????????????????????????? <!--"em1"是需要修改屬性的目標對象“橢圓”,該對象需要修改的屬性為Fill-->
??????????????????????????? ??? <ColorAnimationUsingKeyFrames BeginTime="00:00:00" Duration="00:00:00.0010000" Storyboard.TargetName="em1" Storyboard.TargetProperty="(Shape.Fill).(SolidColorBrush.Color)">
??????????????????????????????????? <EasingColorKeyFrame KeyTime="00:00:00" Value="Red"/>
??????????????????????????????? </ColorAnimationUsingKeyFrames>
??????????????????????????? </Storyboard>
??????? ??????????????? </VisualState>
??????????????????????? <VisualState x:Name="Filled">
??????????????????????? ??? <Storyboard>
??????????????????????????? ??? <ColorAnimationUsingKeyFrames BeginTime="00:00:00" Duration="00:00:00.0010000" Storyboard.TargetName="em1" Storyboard.TargetProperty="(Shape.Fill).(SolidColorBrush.Color)">
??????????????????????????????????? <EasingColorKeyFrame KeyTime="00:00:00" Value="Red"/>
??????????????????????????????? </ColorAnimationUsingKeyFrames>
??????????????????????????? </Storyboard>
??????????????????????? </VisualState>
??????????????????? </VisualStateGroup>
??????? ????????????<!--填充狀態(tài)組結(jié)束-->
??????????????????? <VisualStateGroup x:Name="FocusStates">
??????????????????????? <VisualState x:Name="Unfocused"/>
??????????????????????? <VisualState x:Name="Focused"/>
??????????????????? </VisualStateGroup>
??????????????????? <VisualStateGroup x:Name="CommonStates">
??????????????????????? <VisualState x:Name="Pressed"/>
??????????????????????? <!--修改鼠標滑過時“橢圓”的顏色-->
??????????????????????? <VisualState x:Name="MouseOver">
??????????????????????? ??? <Storyboard>
??????????????????????????? ??? <ColorAnimationUsingKeyFrames BeginTime="00:00:00" Duration="00:00:00.0010000" Storyboard.TargetName="em1" Storyboard.TargetProperty="(Shape.Fill).(SolidColorBrush.Color)">
??????????????????????????????????? <EasingColorKeyFrame KeyTime="00:00:00" Value="Yellow"/>
??????????????????????????????? </ColorAnimationUsingKeyFrames>
??????????????????????????????? <!--修改img的透明度-->
??????????????????????????????? <DoubleAnimation BeginTime="00:00:00" Duration="00:00:00.1" Storyboard.TargetName="img" Storyboard.TargetProperty="Opacity" To="0.6"/>
??????????????????????????? </Storyboard>
??????????????????????? </VisualState>
??????????????????????? <VisualState x:Name="Normal"/>
??????????????????????? <VisualState x:Name="Disabled"/>
??????????????????????? <VisualState x:Name="ReadOnly"/>
??????????????????? </VisualStateGroup>
??????????????? </VisualStateManager.VisualStateGroups>
??????????????? <!--組件模板定義開始-->
??????????????? <Grid Width="42">
??????????????? ??? <StackPanel>
??????????????????? ??? <Image x:Name="img" Source="1.PNG" Width="42"/>
??? ??????????? ??????? <ContentPresenter
??????????????????????????? ??? x:Name="Content"
??????????????????????????? ??? Cursor="{TemplateBinding Cursor}"
??????????????????????????? ??? Content="{TemplateBinding Content}"
??????????????????????????? ??? ContentTemplate="{TemplateBinding ContentTemplate}"
??????????????????????????? ??? HorizontalAlignment="Center"
??????????????????????????? ??? Margin="{TemplateBinding Padding}" />
??????????????????????? <Ellipse x:Name="em1" Fill="White" Stroke="Black" Height="15" Width="15"/>
??????????????????? </StackPanel>
??????????????? </Grid>
??????????????? <!--組件模板定義結(jié)束-->
??????????? </Grid>
??????? </ControlTemplate>
??????? </Setter.Value>
??????? </Setter>
??????? </Style>
??????? <!--“很囧”的樣式結(jié)束-->
??????? <!--“惡心”的樣式開始-->
??????? <Style x:Key="DisgustingTemplate" TargetType="inputToolkit:RatingItem">
??????????? <Setter Property="BorderBrush" Value="#FF545454"/>
??????????? <Setter Property="Template">
??????????????? <Setter.Value>
??????? <ControlTemplate TargetType="inputToolkit:RatingItem">
??????????? <Grid>
??????????????? <VisualStateManager.VisualStateGroups>
??????????????????? <VisualStateGroup x:Name="FillStates">
??????????????????????? <VisualState x:Name="Empty"/>
??????????????????????? <VisualState x:Name="Partial">
??????????????????????? ??? <Storyboard>
??????????????????????????? ??? <ColorAnimationUsingKeyFrames BeginTime="00:00:00" Duration="00:00:00.0010000" Storyboard.TargetName="em1" Storyboard.TargetProperty="(Shape.Fill).(SolidColorBrush.Color)">
??????????????????????????????????? <EasingColorKeyFrame KeyTime="00:00:00" Value="Red"/>
??????????? ????????????????????</ColorAnimationUsingKeyFrames>
??????????????????????????? </Storyboard>
??????????????????????? </VisualState>
??????????????????????? <VisualState x:Name="Filled">
??????????????????????? ??? <Storyboard>
??????????????????????????? ??? <ColorAnimationUsingKeyFrames BeginTime="00:00:00" Duration="00:00:00.0010000" Storyboard.TargetName="em1" Storyboard.TargetProperty="(Shape.Fill).(SolidColorBrush.Color)">
??????????????????????????????????? <EasingColorKeyFrame KeyTime="00:00:00" Value="Red"/>
??????????????????????????????? </ColorAnimationUsingKeyFrames>
??????????????????????????? </Storyboard>
??????????????????????? </VisualState>
??????????????????? </VisualStateGroup>
??????????????????? <VisualStateGroup x:Name="FocusStates">
??????????????????????? <VisualState x:Name="Unfocused"/>
??????????????????????? <VisualState x:Name="Focused"/>
??????????????????? </VisualStateGroup>
??????????????????? <VisualStateGroup x:Name="CommonStates">
??????????????????????? <VisualState x:Name="Pressed"/>
??????????????????????? <VisualState x:Name="MouseOver">
??????????????????????? ??? <Storyboard>
??????????????????????????? ??? <ColorAnimationUsingKeyFrames BeginTime="00:00:00" Duration="00:00:00.0010000" Storyboard.TargetName="em1" Storyboard.TargetProperty="(Shape.Fill).(SolidColorBrush.Color)">
??????????????????????????????????? <EasingColorKeyFrame KeyTime="00:00:00" Value="Yellow"/>
??????????????????????????????? </ColorAnimationUsingKeyFrames>
??????????????????????????????? <DoubleAnimation BeginTime="00:00:00" Duration="00:00:00.1" Storyboard.TargetName="img" Storyboard.TargetProperty="Opacity" To="0.6"/>
??????????????????????????? </Storyboard>
??????????????????? ??? </VisualState>
??????????????????????? <VisualState x:Name="Normal"/>
??????????????????????? <VisualState x:Name="Disabled"/>
??????????????????????? <VisualState x:Name="ReadOnly"/>
??????????????????? </VisualStateGroup>
??????????????? </VisualStateManager.VisualStateGroups>
??????????????? <Grid Width="42">
??????????????? ??? <StackPanel>
??????????????????? ??? <Image x:Name="img" Source="2.PNG" Width="42"/>
??????????????????????? <ContentPresenter
??????????????????????????? ??? x:Name="Content"
??????????????????????????? ??? Cursor="{TemplateBinding Cursor}"
??????????????????????????? ??? Content="{TemplateBinding Content}"
??????????????????????????? ??? ContentTemplate="{TemplateBinding ContentTemplate}"
??????????????????????????? ??? HorizontalAlignment="Center"
??????????????????????????? ??? Margin="{TemplateBinding Padding}" />
??????????????? ??? ??? <Ellipse x:Name="em1" Fill="White" Stroke="Black" Height="15" Width="15"/>
??????????????? ??? </StackPanel>
??????????????? </Grid>
??????????? </Grid>
??????? </ControlTemplate>
??????? </Setter.Value>
??????? </Setter>
??????? </Style>
??????? <!--“惡心”的樣式結(jié)束-->
??????? <!--“無聊”的樣式開始-->
??????? <Style x:Key="BoringTemplate" TargetType="inputToolkit:RatingItem">
??????????? <Setter Property="BorderBrush" Value="#FF545454"/>
??????????? <Setter Property="Template">
??????????????? <Setter.Value>
??????? <ControlTemplate TargetType="inputToolkit:RatingItem">
??????????? <Grid>
??????????????? <VisualStateManager.VisualStateGroups>
??????????????????? <VisualStateGroup x:Name="FillStates">
??????????????????????? <VisualState x:Name="Empty"/>
??????????????????????? <VisualState x:Name="Partial">
??????????????????????? ??? <Storyboard>
??????????????????????????? ??? <ColorAnimationUsingKeyFrames BeginTime="00:00:00" Duration="00:00:00.0010000" Storyboard.TargetName="em1" Storyboard.TargetProperty="(Shape.Fill).(SolidColorBrush.Color)">
??????????????????????????????????? <EasingColorKeyFrame KeyTime="00:00:00" Value="Red"/>
??????????????????????????????? </ColorAnimationUsingKeyFrames>
??????????????????????????? </Storyboard>
??????????????????? ??? </VisualState>
??????????????????????? <VisualState x:Name="Filled">
??????????????????????? ??? <Storyboard>
??????????????????????????? ??? <ColorAnimationUsingKeyFrames BeginTime="00:00:00" Duration="00:00:00.0010000" Storyboard.TargetName="em1" Storyboard.TargetProperty="(Shape.Fill).(SolidColorBrush.Color)">
??????????????????????????????????? <EasingColorKeyFrame KeyTime="00:00:00" Value="Red"/>
??????????????????????????????? </ColorAnimationUsingKeyFrames>
??????????????????????????? </Storyboard>
??????????????????????? </VisualState>
??????????????????? </VisualStateGroup>
??????????????????? <VisualStateGroup x:Name="FocusStates">
??????????????????????? <VisualState x:Name="Unfocused"/>
??????????????????????? <VisualState x:Name="Focused"/>
??????????????????? </VisualStateGroup>
??????????????????? <VisualStateGroup x:Name="CommonStates">
??????????????????????? <VisualState x:Name="Pressed"/>
??????????????????????? <VisualState x:Name="MouseOver">
??????????????????????? ??? <Storyboard>
??????????????????????????? ??? <ColorAnimationUsingKeyFrames BeginTime="00:00:00" Duration="00:00:00.0010000" Storyboard.TargetName="em1" Storyboard.TargetProperty="(Shape.Fill).(SolidColorBrush.Color)">
??????????????????????????????????? <EasingColorKeyFrame KeyTime="00:00:00" Value="Yellow"/>
??????????????????????????????? </ColorAnimationUsingKeyFrames>
??????????????????????????????? <DoubleAnimation BeginTime="00:00:00" Duration="00:00:00.1" Storyboard.TargetName="img" Storyboard.TargetProperty="Opacity" To="0.6"/>
??????????????????????????? </Storyboard>
??????????????????? ??? </VisualState>
??????????????????????? <VisualState x:Name="Normal"/>
??????????????????????? <VisualState x:Name="Disabled"/>
??????????????????????? <VisualState x:Name="ReadOnly"/>
??????????????????? </VisualStateGroup>
??????????????? </VisualStateManager.VisualStateGroups>
??????????????? <Grid Width="42">
??????????????? ??? <StackPanel>
??????????????????? ??? <Image x:Name="img" Source="3.PNG" Width="42"/>
??????????????????????? <ContentPresenter
??????????????????????????? ??? x:Name="Content"
??????????????????????????? ??? Cursor="{TemplateBinding Cursor}"
??????????????????????????? ??? Content="{TemplateBinding Content}"
??????????????????????????? ??? ContentTemplate="{TemplateBinding ContentTemplate}"
??????????????????????????? ??? HorizontalAlignment="Center"
??????????????????????????? ??? Margin="{TemplateBinding Padding}" />
??????????????? ??? ??? <Ellipse x:Name="em1" Fill="White" Stroke="Black" Height="15" Width="15"/>
??????????????? ??? </StackPanel>
??????????????? </Grid>
??????????? </Grid>
??????? </ControlTemplate>
??????? </Setter.Value>
??????? </Setter>
??????? </Style>
??????? <!--“無聊”的樣式結(jié)束-->
??????? <!--“期待”的樣式開始-->
??????? <Style x:Key="ExpactingTemplate" TargetType="inputToolkit:RatingItem">
??????????? <Setter Property="BorderBrush" Value="#FF545454"/>
??????????? <Setter Property="Template">
??????????????? <Setter.Value>
??????? <ControlTemplate TargetType="inputToolkit:RatingItem">
??????????? <Grid>
??????????????? <VisualStateManager.VisualStateGroups>
??????????????????? <VisualStateGroup x:Name="FillStates">
??????????????????????? <VisualState x:Name="Empty"/>
??????????????????????? <VisualState x:Name="Partial">
??????????????????????? ??? <Storyboard>
??????????????????????????? ??? <ColorAnimationUsingKeyFrames BeginTime="00:00:00" Duration="00:00:00.0010000" Storyboard.TargetName="em1" Storyboard.TargetProperty="(Shape.Fill).(SolidColorBrush.Color)">
??????????????????????????????????? <EasingColorKeyFrame KeyTime="00:00:00" Value="Red"/>
??????????????????????????????? </ColorAnimationUsingKeyFrames>
??????????????????????????? </Storyboard>
??????????????????????? </VisualState>
??????????????????????? <VisualState x:Name="Filled">
??????????????????????? ??? <Storyboard>
??????????????????????????? ??? <ColorAnimationUsingKeyFrames BeginTime="00:00:00" Duration="00:00:00.0010000" Storyboard.TargetName="em1" Storyboard.TargetProperty="(Shape.Fill).(SolidColorBrush.Color)">
??????????????????????????????????? <EasingColorKeyFrame KeyTime="00:00:00" Value="Red"/>
?? ?????????????????????????????</ColorAnimationUsingKeyFrames>
??????????????????????????? </Storyboard>
??????????????????????? </VisualState>
??????????????????? </VisualStateGroup>
??????????????????? <VisualStateGroup x:Name="FocusStates">
??????????????????????? <VisualState x:Name="Unfocused"/>
??????????????????????? <VisualState x:Name="Focused"/>
??????????????????? </VisualStateGroup>
??????????????????? <VisualStateGroup x:Name="CommonStates">
??????????????????????? <VisualState x:Name="Pressed"/>
??????????????????????? <VisualState x:Name="MouseOver">
??????????????????????? ??? <Storyboard>
??????????????????????????? ??? <ColorAnimationUsingKeyFrames BeginTime="00:00:00" Duration="00:00:00.0010000" Storyboard.TargetName="em1" Storyboard.TargetProperty="(Shape.Fill).(SolidColorBrush.Color)">
??????????????????????????????????? <EasingColorKeyFrame KeyTime="00:00:00" Value="Yellow"/>
??????????????????????????????? </ColorAnimationUsingKeyFrames>
??????????????????????????????? <DoubleAnimation BeginTime="00:00:00" Duration="00:00:00.1" Storyboard.TargetName="img" Storyboard.TargetProperty="Opacity" To="0.6"/>
??????????????????????????? </Storyboard>
??????????????????? ??? </VisualState>
??????????????????????? <VisualState x:Name="Normal"/>
??????????????????????? <VisualState x:Name="Disabled"/>
??????????????????????? <VisualState x:Name="ReadOnly"/>
??????????????????? </VisualStateGroup>
??????????????? </VisualStateManager.VisualStateGroups>
??????????????? <Grid Width="42">
??????????????? ??? <StackPanel>
??????????????????? ??? <Image x:Name="img" Source="4.PNG" Width="42"/>
??????????? ??????????? <ContentPresenter
??????????????????????????? ??? x:Name="Content"
??????????????????????????? ??? Cursor="{TemplateBinding Cursor}"
??????????????????????????? ??? Content="{TemplateBinding Content}"
??????????????????????????? ??? ContentTemplate="{TemplateBinding ContentTemplate}"
??????????????????????????? ??? HorizontalAlignment="Center"
??????????????????????????? ??? Margin="{TemplateBinding Padding}" />
??????????????? ??? ??? <Ellipse x:Name="em1" Fill="White" Stroke="Black" Height="15" Width="15"/>
??????????????? ??? </StackPanel>
??????????????? </Grid>
??????????? </Grid>
??????? </ControlTemplate>
??????? </Setter.Value>
??????? </Setter>
??????? </Style>
??????? <!--“期待”的樣式結(jié)束-->
??????? <!--“搞笑”的樣式開始-->
??????? <Style x:Key="FunnyTemplate" TargetType="inputToolkit:RatingItem">
??????????? <Setter Property="BorderBrush" Value="#FF545454"/>
??????????? <Setter Property="Template">
??????????????? <Setter.Value>
??????? <ControlTemplate TargetType="inputToolkit:RatingItem">
??????????? <Grid>
??????????????? <VisualStateManager.VisualStateGroups>
??????????????????? <VisualStateGroup x:Name="FillStates">
??????????????????????? <VisualState x:Name="Empty"/>
??????????????????????? <VisualState x:Name="Partial">
??????????????????????? ??? <Storyboard>
??????????????????????????? ??? <ColorAnimationUsingKeyFrames BeginTime="00:00:00" Duration="00:00:00.0010000" Storyboard.TargetName="em1" Storyboard.TargetProperty="(Shape.Fill).(SolidColorBrush.Color)">
??????????????????????????????????? <EasingColorKeyFrame KeyTime="00:00:00" Value="Red"/>
??????????????????????????????? </ColorAnimationUsingKeyFrames>
??????????????????????????? </Storyboard>
??????????????????????? </VisualState>
??????????????????????? <VisualState x:Name="Filled">
??????????????????????? ??? <Storyboard>
??????????????????????????? ??? <ColorAnimationUsingKeyFrames BeginTime="00:00:00" Duration="00:00:00.0010000" Storyboard.TargetName="em1" Storyboard.TargetProperty="(Shape.Fill).(SolidColorBrush.Color)">
??????????????????????????????????? <EasingColorKeyFrame KeyTime="00:00:00" Value="Red"/>
??????????????????????????????? </ColorAnimationUsingKeyFrames>
??????????????????????????? </Storyboard>
??????????????????????? </VisualState>
??????????????????? </VisualStateGroup>
??????????????????? <VisualStateGroup x:Name="FocusStates">
??????????????????????? <VisualState x:Name="Unfocused"/>
??????????????????????? <VisualState x:Name="Focused"/>
??????????????????? </VisualStateGroup>
??????????????????? <VisualStateGroup x:Name="CommonStates">
??????????????????????? <VisualState x:Name="Pressed"/>
??????????????????????? <VisualState x:Name="MouseOver">
??????????????????????? ??? <Storyboard>
??????????????????????????? ??? <ColorAnimationUsingKeyFrames BeginTime="00:00:00" Duration="00:00:00.0010000" Storyboard.TargetName="em1" Storyboard.TargetProperty="(Shape.Fill).(SolidColorBrush.Color)">
??????????????????????????????????? <EasingColorKeyFrame KeyTime="00:00:00" Value="Yellow"/>
??????????????????????????????? </ColorAnimationUsingKeyFrames>
??????????????????????????????? <DoubleAnimation BeginTime="00:00:00" Duration="00:00:00.1" Storyboard.TargetName="img" Storyboard.TargetProperty="Opacity" To="0.6"/>
??????????????????????????? </Storyboard>
??????????????????? ??? </VisualState>
??????????????????????? <VisualState x:Name="Normal"/>
??????????????????????? <VisualState x:Name="Disabled"/>
??????????????????????? <VisualState x:Name="ReadOnly"/>
??????????????????? </VisualStateGroup>
??????????????? </VisualStateManager.VisualStateGroups>
??????????????? <Grid Width="42">
??????????????? ??? <StackPanel>
??????????????????? ??? <Image x:Name="img" Source="5.PNG" Width="42"/>
??????????????????????? <ContentPresenter
??????????????????????????? ??? x:Name="Content"
??????????????????????????? ??? Cursor="{TemplateBinding Cursor}"
??????????????????????????? ??? Content="{TemplateBinding Content}"
??????????????????????????? ??? ContentTemplate="{TemplateBinding ContentTemplate}"
??????????????????????????? ??? HorizontalAlignment="Center"
??????????????????????????? ??? Margin="{TemplateBinding Padding}" />
??????????????? ??? ??? <Ellipse x:Name="em1" Fill="White" Stroke="Black" Height="15" Width="15"/>
??????????????? ??? </StackPanel>
??????????????? </Grid>
??????????? </Grid>
??????? </ControlTemplate>
??????? </Setter.Value>
??????? </Setter>
??????? </Style>
??????? <!--“搞笑”的樣式結(jié)束-->
??????? <!--“強”的樣式開始-->
??????? <Style x:Key="SuperTemplate" TargetType="inputToolkit:RatingItem">
??????????? <Setter Property="BorderBrush" Value="#FF545454"/>
??????????? <Setter Property="Template">
??????????????? <Setter.Value>
??????? <ControlTemplate TargetType="inputToolkit:RatingItem">
??????????? <Grid>
??????????????? <VisualStateManager.VisualStateGroups>
??????????????????? <VisualStateGroup x:Name="FillStates">
??? ??????????????????? <VisualState x:Name="Empty"/>
??????????????????????? <VisualState x:Name="Partial">
??????????????????????? ??? <Storyboard>
??????????????????????????? ??? <ColorAnimationUsingKeyFrames BeginTime="00:00:00" Duration="00:00:00.0010000" Storyboard.TargetName="em1" Storyboard.TargetProperty="(Shape.Fill).(SolidColorBrush.Color)">
??????????????????????????????????? <EasingColorKeyFrame KeyTime="00:00:00" Value="Red"/>
??????????????????????????????? </ColorAnimationUsingKeyFrames>
??????????????????????????? </Storyboard>
??????????????????????? </VisualState>
??????????????????????? <VisualState x:Name="Filled">
??????????????????????? ??? <Storyboard>
??????????????????????????? ??? <ColorAnimationUsingKeyFrames BeginTime="00:00:00" Duration="00:00:00.0010000" Storyboard.TargetName="em1" Storyboard.TargetProperty="(Shape.Fill).(SolidColorBrush.Color)">
???????????????????????????? ???????<EasingColorKeyFrame KeyTime="00:00:00" Value="Red"/>
??????????????????????????????? </ColorAnimationUsingKeyFrames>
??????????????????????????? </Storyboard>
??????????????????????? </VisualState>
??????????????????? </VisualStateGroup>
??????????????????? <VisualStateGroup x:Name="FocusStates">
??????????????????????? <VisualState x:Name="Unfocused"/>
??????????????????????? <VisualState x:Name="Focused"/>
??????????????????? </VisualStateGroup>
??????????????????? <VisualStateGroup x:Name="CommonStates">
??????????????????????? <VisualState x:Name="Pressed"/>
??????????????????????? <VisualState x:Name="MouseOver">
??????????????????????? ??? <Storyboard>
??????????????????? ??????? ??? <ColorAnimationUsingKeyFrames BeginTime="00:00:00" Duration="00:00:00.0010000" Storyboard.TargetName="em1" Storyboard.TargetProperty="(Shape.Fill).(SolidColorBrush.Color)">
??????????????????????????????????? <EasingColorKeyFrame KeyTime="00:00:00" Value="Yellow"/>
??????????????????????????????? </ColorAnimationUsingKeyFrames>
??????????????????????????????? <DoubleAnimation BeginTime="00:00:00" Duration="00:00:00.1" Storyboard.TargetName="img" Storyboard.TargetProperty="Opacity" To="0.6"/>
??????????????????????????? </Storyboard>
??????????????????? ??? </VisualState>
??????????????????????? <VisualState x:Name="Normal"/>
??????????????????????? <VisualState x:Name="Disabled"/>
??????????????????????? <VisualState x:Name="ReadOnly"/>
??????????????????? </VisualStateGroup>
??????????????? </VisualStateManager.VisualStateGroups>
??????????????? <Grid Width="42">
??????????????? ??? <StackPanel>
??????????????????? ??? <Image x:Name="img" Source="6.PNG" Width="42"/>
??????????????????????? <ContentPresenter
??????????????????????????? ??? x:Name="Content"
??????????????????????????? ??? Cursor="{TemplateBinding Cursor}"
??????????????????????????? ??? Content="{TemplateBinding Content}"
??????????????????????????? ??? ContentTemplate="{TemplateBinding ContentTemplate}"
??????????????????????????? ??? HorizontalAlignment="Center"
??????????????????????????? ??? Margin="{TemplateBinding Padding}" />
??????????????? ??? ??? <Ellipse x:Name="em1" Fill="White" Stroke="Black" Height="15" Width="15"/>
??????????????? ??? </StackPanel>
??????????????? </Grid>
??????????? </Grid>
??????? </ControlTemplate>
??????? </Setter.Value>
??????? </Setter>
??????? </Style>
??????? <!--“強”的樣式結(jié)束-->
??? </UserControl.Resources>
???
??? <Grid x:Name="LayoutRoot" Width="320" Height="240" Background="White">
??????? <!--自定義的Rating組件-->
??????? <inputToolkit:Rating x:Name="myRating" FontSize="13" SelectionMode="Individual" Margin="22,96,43,63">
??????????? <inputToolkit:RatingItem x:Name="Embarrassed" Content="很囧" Style="{StaticResource EmbarrassedTemplate}"/>
??????????? <inputToolkit:RatingItem x:Name="Disgusting" Content="惡心" Style="{StaticResource DisgustingTemplate}"/>
??????????? <inputToolkit:RatingItem x:Name="Boring" Content="無聊" Style="{StaticResource BoringTemplate}"/>
??????????? <inputToolkit:RatingItem x:Name="Expacting" Content="期待" Style="{StaticResource ExpactingTemplate}"/>
??????????? <inputToolkit:RatingItem x:Name="Funny" Content="搞笑" Style="{StaticResource FunnyTemplate}"/>
??????????? <inputToolkit:RatingItem x:Name="Super" Content="強" Style="{StaticResource SuperTemplate}"/>
??????? </inputToolkit:Rating>
??????? <!--基本Rating組件-->
??????? <inputToolkit:Rating Value="0.75" x:Name="rating" Height="27" Margin="23,14,0,0" VerticalAlignment="Top" ItemCount="5" HorizontalAlignment="Left" Width="104"/>
??????? <Slider x:Name="HSlider" SmallChange="0.01" Maximum="1" Minimum="0" Height="21" Value="{Binding Path=Value, ElementName=rating, Mode=TwoWay}" HorizontalAlignment="Left" Margin="22,46,0,0" VerticalAlignment="Top" Width="105"/>
??????? <TextBlock x:Name="tbRate" Height="28" Margin="141,25,107,0" VerticalAlignment="Top" TextWrapping="Wrap"/>
??? </Grid>
</UserControl>
?
MainPage.xaml.cs文件代碼:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;
?
namespace SilverlightClient
{
??? public partial class MainPage : UserControl
??? {
??????? public MainPage()
??????? {
??????????? InitializeComponent();
??????????? //注冊事件觸發(fā)處理
??????????? this.rating.ValueChanged += onValueChanged;
??????? }
?
??????? private void onValueChanged(Object sender, EventArgs e)
??????? {
??????????? tbRate.Text = Convert.ToInt32((HSlider.Value*100)).ToString();//顯示Rating組件的當(dāng)前值
??????? }
??? }
}
?
最終效果圖:
?
作者:Kinglee文章出處:Kinglee’s Blog (http://www.cnblogs.com/Kinglee/)
版權(quán)聲明:本文的版權(quán)歸作者與博客園共有。轉(zhuǎn)載時須注明本文的詳細鏈接,否則作者將保留追究其法律責(zé)任。
總結(jié)
以上是生活随笔為你收集整理的有关Rating组件的研究——Silverlight学习笔记[41]的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: MySQL 7种日志类型 详解
- 下一篇: jQuery中操作元素节点appendT