Study Silverlight《模仿电子表》

来源:互联网 发布:生命人寿网络商学院 编辑:程序博客网 时间:2024/05/01 06:36

注:本文参照了http://webabcd.blog.51cto.com/1787395/345641

一、Clock.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;
using System.Windows.Threading; //定时器

namespace SilverlightBasic.Clock
{
    public partial class Clock : UserControl
    {
        public Clock()
        {
            InitializeComponent();
            this.Loaded += new RoutedEventHandler(enableClock);
        }
        /**
         * 加载执行函数
         */
        private void enableClock(object sender,RoutedEventArgs e) {
            GetDataTime();//先加载一次
            DispatcherTimer myDispatcherTimer = new DispatcherTimer();
            myDispatcherTimer.Interval = new TimeSpan(0, 0, 0, 1, 0);
            myDispatcherTimer.Tick += new EventHandler(Timer_Tick);
            myDispatcherTimer.Start();
        }
        /**
         * 定时器执行函数
         */
        private void Timer_Tick(object sender, EventArgs e) {
            GetDataTime();
        }
        /**
         * 处理XAML上文本更新
         */
        private void GetDataTime() {
            DateTime dataTime = DateTime.Now;
            this.txtHour.Text = String.Format("{0:d2}", dataTime.Hour);
            this.txtMinute.Text = String.Format("{0:d2}", dataTime.Minute);
            this.txtSecond.Text = String.Format("{0:d2}", dataTime.Second);

            this.txtMonth.Text = String.Format("{0:d2}", dataTime.Month);
            this.txtDay.Text = String.Format("{0:d2}", dataTime.Day);
            this.txtWeek.Text = dataTime.DayOfWeek.ToString().Substring(0, 3);
        }
    }
}

二、Clock.xaml

<UserControl x:Class="SilverlightBasic.Clock.Clock"
    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"
    d:DesignHeight="300" d:DesignWidth="400">
    <Canvas Width="180" Height="150" Name="Page" Background="#0030628D">
        <Rectangle Name="Frame" Width="180" Height="150" Stroke="#FF000000" StrokeThickness="1"
                   RadiusX="20" RadiusY="15">
            <Rectangle.Fill>
                <LinearGradientBrush EndPoint="0.5,1.1" StartPoint="0.5,-0.1">
                    <GradientStop Color="#FF259888" Offset="0"/>
                    <GradientStop Color="#FFC87947" Offset="0.416"/>
                    <GradientStop Color="#FFC87947" Offset="0.636"/>
                    <GradientStop Color="#FF259888" Offset="0.981"/>
                </LinearGradientBrush>
            </Rectangle.Fill>
        </Rectangle>
        <Rectangle Name="Panel" Width="164" Height="134" Fill="#7F91B52C"
                   Stroke="#FFA2AEBF" RadiusX="50" RadiusY="15" Canvas.Left="8"
                   Canvas.Top="8" StrokeThickness="2"/>
        <Path Name="Line1" Width="163" Height="1" Fill="#FF100888" Stretch="Fill"
              Stroke="#FF1B510C" Canvas.Left="8" Canvas.Top="92"
              Data="M33.50029,83.29705 l161.89657,83.297051"/>
        <Path x:Name="Line2" Width="1" Height="49" Fill="#FF100888" Stretch="Fill"
              Stroke="#FF1B510C" Canvas.Left="63" Canvas.Top="92"
              Data="M81.450752,138.29705 L81.450752,90.29705"/>
        <Path x:Name="Line3" Width="1" Height="49" Fill="#FF100888" Stretch="Fill"
              Stroke="#FF1B510C" Canvas.Left="119" Canvas.Top="92"
              Data="M118.30501,164.29698 L118.30501,116.29699"/>
        <!-- M D W -->
        <TextBlock x:Name="Month" Width="16" Height="19" Canvas.Left="32.5"
                   Canvas.Top="92" TextWrapping="Wrap" Foreground="#FF100888" Text="M"/>
        <TextBlock Width="16" Height="19" Canvas.Left="87" Canvas.Top="92"
                   TextWrapping="Wrap" x:Name="Day" Foreground="#FF100888" Text="D"/>
        <TextBlock Width="16" Height="19" Canvas.Left="136" Canvas.Top="92"
                   TextWrapping="Wrap" x:Name="Week" Foreground="#FF100888" Text="W"/>
        <!-- M D W的值 -->
        <TextBlock x:Name="txtMonth" Width="19" Height="19" Canvas.Left="29"
                   Canvas.Top="111" TextWrapping="Wrap" Foreground="#FF100888" Text="12"/>
        <TextBlock x:Name="txtDay" Width="20.5" Height="19" Canvas.Left="83.5"
                   Canvas.Top="111" TextWrapping="Wrap" Foreground="#FF100888" Text="31"/>
        <TextBlock x:Name="txtWeek" Width="32.5" Height="19" Canvas.Left="130"
                   Canvas.Top="111" TextWrapping="Wrap" Foreground="#FF100888" Text="Sun"/>
        <!-- 时间值 -->
        <TextBlock x:Name="txtHour" Width="48" Height="48" Canvas.Left="14.5" Canvas.Top="38"
                   TextWrapping="Wrap" FontSize="36" Foreground="#FF100888" Text="23"/>
        <TextBlock x:Name="txtMinute" Width="48" Height="48" Canvas.Left="68.5" Canvas.Top="38"
                   TextWrapping="Wrap" FontSize="36" Foreground="#FF100888" Text="59"/>
        <TextBlock x:Name="txtSecond" Width="49" Height="48" Canvas.Left="122" Canvas.Top="38"
                   TextWrapping="Wrap" FontSize="36" Foreground="#FF100888" Text="59"/>
        <!-- two : -->
        <TextBlock x:Name="Colon1" Width="9.5" Height="27" Canvas.Left="62.5" Canvas.Top="48"
                   TextWrapping="Wrap" Foreground="#FF100888" Text=":" FontSize="20"/>
        <TextBlock x:Name="Colon2" Width="12" Height="27" Canvas.Left="116.5" Canvas.Top="48"
                   TextWrapping="Wrap" Foreground="#FF100888" Text=":" FontSize="20"/>
        <!-- Copyright -->
        <TextBlock x:Name="Copyright" Width="88" Height="16" Canvas.Left="50" TextWrapping="Wrap"
                   FontSize="12" Canvas.Top="22" Foreground="#FF100888" Text="@Copyright"/>
    </Canvas>
</UserControl>
三、效果图

 

---------------------------------------------------------------------------------------------------------------------------

原创粉丝点击