使用SilverlightToolkit中Rating等级控件

下面就简要介绍一下Silverlight Toolkit中Rating等级控件用法。

在五华等地区,都构建了全面的区域性战略布局,加强发展的系统性、市场前瞻性、产品创新能力,以专注、极致的服务理念,为客户提供网站设计、成都网站设计 网站设计制作按需网站开发,公司网站建设,企业网站建设,成都品牌网站建设,网络营销推广,外贸网站制作,五华网站建设费用合理。

首先,我们要在项目中添加对System.Windows.Controls.Input.Toolkit.dll的引用(位于源码包中)。

然后我们就可以到XAML中引用其名空间:

 
 
 
 
  1. xmlns:inputToolkit="clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls.Input.Toolkit" 

我们用下面代码声名一了Rating实例:

 
 
 
 
  1. <inputToolkit:Ratingx:NameinputToolkit:Ratingx:Name="rating"Value="0.65"ItemCount="5"HorizontalAlignment="Left"/> 

注意:ItemCount属性标识当前有几颗星。而Value属性则对应当前显示的星值数目(0-1之间)

我们通过下面代码来标识星值着色是否连续(该枚举有两个值Continuous和Individual):

 
 
 
 
  1. rating.SelectionMode=RatingSelectionMode.Continuous; 

下面我们就看一下演示效果:

   

当然该Silverlight Toolkit控件的星星排列除了水平方向,还可以是垂直方向。另外如果认为星星不好看,可以使用Blend定义一个新的图案做为评级的图标,比如我这里用了示例代码中的样式来把星星换成'圆球',最终的演示效果如下(样式代码可以下载本DEMO查看):

  

而相应的XAML代码如下(注意ItemContainerStyle样式绑定):

 
 
 
 
  1. <inputToolkit:RatingValueinputToolkit:RatingValue="0.65"Foreground="{x:Null}"ItemContainerStyle="{StaticResourceRatingItemStyle}" 
  2. Margin="0,4,0,0"ItemCount="5"> 
  3.  
  4.  
  5. <StackPanelOrientationStackPanelOrientation="Vertical"VerticalAlignment="Stretch"HorizontalAlignment="Stretch"/> 
  6.  
  7.  
  8.  

是不是很好玩

当然上面是通过在XAML页面上定义来实现的,下面介绍一下如果使用CS代码来创建‘等级项’。

在Rating控件中的每个星星(等级)都是一个RatingItem对象,所以我用下面代码来动态加载等级项:

 
 
 
 
  1. /// 
  2. ///加载自定义项  
  3. /// 
  4. privatevoidLoadCustomRatingItem()  
  5. {  
  6.  
  7. string[]ratingItmeArray=newstring[]{"很差","不好","一般","还行","很棒"};  
  8. foreach(stringiteminratingItmeArray)  
  9. {  
  10. RatingItemratingItem=newRatingItem(){Content=item,Foreground=  
  11. newSolidColorBrush(Colors.Blue),Margin=newThickness(12,0,12,0)};  
  12. ratingItem.SetValue(ToolTipService.ToolTipProperty,item);  
  13. customsRating.Items.Add(ratingItem);  
  14. }  
  15. rating.SelectionMode=RatingSelectionMode.Continuous;  

我们来看一下运行效果:

  
完成了这个演示,来实现一个真正的应用场景,做一个照片评级的应用。首先我们用下面XAML代码创建一个‘带图,按钮,评级控件’的类似于海报的界面。

 
 
 
 
  1. <BorderWidthBorderWidth="164"Padding="2"BorderBrush="#FFB30000"BorderThickness="1"> 
  2. <StackPanelOrientationStackPanelOrientation="Vertical"Margin="0"> 
  3. <HyperlinkButtonMarginHyperlinkButtonMargin="0"Content="汽车"HorizontalAlignment="Center"VerticalAlignment="Center"Foreground="#FF0F***9B"/> 
  4. <ImageSourceImageSource="Images/car.jpg"Width="160"Margin="9,0"/> 
  5. <inputToolkit:Ratingx:NameinputToolkit:Ratingx:Name="netflix"Value="0.65"ItemCount="5"HorizontalAlignment="Center"BorderBrush="Black"Padding="3,1,3,3"/> 
  6. <ButtonClickButtonClick="Button_Click"Content="提交"Height="30"HorizontalAlignment="Center"VerticalAlignment="Center"Padding="3,1,3,3"/> 
  7.  
  8.  

然后我们在‘评论按钮’上绑定事件代码,来显示用户评价的结果。

 
 
 
 
  1. privatevoidButton_Click(objectsender,RoutedEventArgse)  
  2. {  
  3. System.Windows.Browser.HtmlPage.Window.Alert("你将该图片的评价为:"+netflix.Value);  
  4. //netflix.Value=0;  

***我们运行一下,如下图:
               
点击提交按钮后:
    
              
     
当然更复杂的应用在官方的示例中有详细演示,如果大家有兴趣可以去下载运行相应示例即可。

好了,今天的内容就先到这里了。

本文来自代震军的博客园文章《使用Silverlight Toolkit 等级控件---Rating 》

文章题目:使用SilverlightToolkit中Rating等级控件
文章位置:http://www.shufengxianlan.com/qtweb/news25/537025.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联