zoukankan      html  css  js  c++  java
  • 【Win10开发】绘制静态UI

    相信经历过Windows Insider的人对下面这个图都不会陌生,偶然看见邹欣老师领导的微软团队写了篇用xaml绘制这个静态页面,那咱也来亲手实验一番。唔。。。请做和放宽!


    首先我们来看看xaml代码。

     1     <Grid Background="Black">
     2         <Grid>
     3             <TextBlock Margin="35" FontSize="20" Foreground="White"  HorizontalAlignment="Center" FontFamily="Microsoft YaHei">请坐和放宽</TextBlock>
     4             <Grid Height="200" Width="200" >
     5                 <Ellipse Stroke="Gray" StrokeThickness="3"></Ellipse>
     6                 <Ellipse Stroke="DeepSkyBlue" StrokeThickness="3" 
     7                          StrokeDashArray="61.89, 1000"
     8                          RenderTransformOrigin="0.5, 0.5">
     9                     <Ellipse.RenderTransform>
    10                         <RotateTransform Angle="-90" />
    11                     </Ellipse.RenderTransform>
    12                 </Ellipse>
    13                 <TextBlock FontSize="50" FontFamily="Microsoft YaHei" HorizontalAlignment="Center" VerticalAlignment="Center" Foreground="White">30%</TextBlock>
    14             </Grid>
    15         </Grid>
    16     </Grid>

    Shape.StrokeDashArray属性

    Windows.UI.Xaml.Shapes.Shape基类,以及继承自它的Ellipse、Line、Path、Rectangle等类,都具有一些Stroke****之名的属性,可以实现描边效果。其中有一个比较特别的StrokeDashArray属性,它能实现虚线型的描边效果,加以扩展的话是我们实现重复性UI绘制的好帮手。

    在XAML中,这一属性表现为形如”1,2,3,4”的字符串格式,而本质上它是一个DoubleCollection。其中的数值两两配对,依次表示虚线的短划线和空白间隔的长度,并且能周期性地出现。如果数值个数只有奇数个,那么匹配不满的那一组中,空白间隔的长度将和短划线的长度一致。

    首先,将Grid的背景设置为黑色。然后画出两个圆形,一个圆形设置为灰色,StrokeThickness属性设置为3,将第二个圆设置为蓝色,StrokeThickness属性设置为3,此时圆形被蓝色填满,这是"进度100%"的效果。那么写这么一句StrokeDashArray="61.89, 1000"。此时我们可以看到一个坐和放宽就绘制出来了,是不是很简单。

  • 相关阅读:
    jquery流行的插件收集
    简单遮罩层
    生成任意位数随机验证码
    30个图片浏览插件收集
    [转载]12个jQuery Lightbox效果插件
    jqzoom图片放大镜效果
    23个超流行的jQuery相册插件收集
    在suse上创建UDEV Rules For RAC OCR And Voting Devices
    /etc/fstab文件中的一些参数
    Oracle提供的自治事务记录日志的方法
  • 原文地址:https://www.cnblogs.com/skyshalo/p/5008224.html
Copyright © 2011-2022 走看看