大佬教程收集整理的这篇文章主要介绍了Silverlight 版的电子表,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
程序执行的效果图:
这个程序改编自:webabcd 的 Silverlight 1.0 同样程序。
http://www.cnblogs.com/webabcd/archive/2007/09/17/895328.html
我这里把 Silverlight 1.0 的程序改成 Silverlight 3.0 的程序了。中间的逻辑,原先是JavaScript写的,现在变成C#写的了。
程序是用VS2010 beta 写的, 使用的是 VS2010 默认创建的 Silverlight 项目来编写的。 对其中改动的部分代码如下:
<UserControl x:Class="ClockSilverlightApp.MainPage" xmlns="http://scheR_812_11845@as.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://scheR_812_11845@as.microsoft.com/winfx/2006/xaml" xmlns:d="http://scheR_812_11845@as.microsoft.com/expression/blend/2008" xmlns:@H_282_39@mc="http://scheR_812_11845@as.openxmlformats.org/markup-compatibility/2006" @H_282_39@mc:Ignorable="d" d:DesignHeight="300" d:DesignWidth="400" Loaded="UserControl_Loaded"> <Canvas xmlns="http://scheR_812_11845@as.microsoft.com/client/2007" xmlns:x="http://scheR_812_11845@as.microsoft.com/winfx/2006/xaml" Width="180" Height="150" BACkground="#0030628D" x:Name="Page" > <Rectangle x: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="#FF259888" Offset="0.981"/> <GradientStop Color="#FFC87947" Offset="0.416"/> <GradientStop Color="#FFC87947" Offset="0.636"/> LinearGradientBrush> Rectangle.Fill> Rectangle> <Rectangle x:Name="Panel" Width="164" Height="134" Fill="#7F91B52C" stroke="#FFA2AEBF" RadiusX="50" RadiusY="15" Canvas.Left="8" Canvas.Top="8" strokeThickness="2"/> <Path x: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="56" 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="110" Canvas.Top="92" Data="M118.30501,164.29698 L118.30501,116.29699"/> <TextBlock x:Name="Month" Width="16" Height="19" Canvas.Left="30" Canvas.Top="92" textwrapping="Wrap" Foreground="#FF100888" Text="月"/> <TextBlock Width="16" Height="19" Canvas.Left="78" Canvas.Top="92" textwrapping="Wrap" x:Name="Day" Foreground="#FF100888" Text="日"/> <TextBlock Width="30" Height="19" Canvas.Left="129" Canvas.Top="92" textwrapping="Wrap" x:Name="Week" Foreground="#FF100888" Text="星期"/> <TextBlock x:Name="txtMonth" Width="19" Height="19" Canvas.Left="28" Canvas.Top="111" textwrapping="Wrap" Foreground="#FF100888" Text="12"/> <TextBlock x:Name="txtDay" Width="20.5" Height="19" Canvas.Left="77" Canvas.Top="111" textwrapping="Wrap" Foreground="#FF100888" Text="31"/> <TextBlock x:Name="txtWeek" Width="20" Height="19" Canvas.Left="133" Canvas.Top="111" textwrapping="Wrap" Foreground="#FF100888" Text="六"/> <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"/> <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"/> <TextBlock x:Name="Copyright" Width="88" Height="16" Canvas.Left="16" textwrapping="Wrap" FontSize="12" Canvas.Top="22" Foreground="#FF100888" Text="郭红俊 clock" @H_282_39@mouSELEftButtonDown="Copyright_MouSELEftButtonDown" @H_282_39@mouseEnter="TextBlock_MouseEnter" @H_282_39@mouSELEave="TextBlock_MouSELEave" /> <TextBlock x:Name="FullScreen" Width="88" Height="16" Canvas.Left="106" textwrapping="Wrap" FontSize="12" Canvas.Top="22" Foreground="#FF100888" Text="FullScreen" @H_282_39@mouseEnter="TextBlock_MouseEnter" @H_282_39@mouSELEave="TextBlock_MouSELEave" @H_282_39@mouSELEftButtonDown="FullScreen_MouSELEftButtonDown" /> Canvas> UserControl>
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; using System.Windows.browser; namespace ClockSilverlightApp { public partial class MainPage : UserControl { public MainPage() { InitializeComponent(); DicWeek.Add(DayOfWeek.Friday,"五"); DicWeek.Add(DayOfWeek.Monday,"一"); DicWeek.Add(DayOfWeek.Saturday,"六"); DicWeek.Add(DayOfWeek.Sunday,"日"); DicWeek.Add(DayOfWeek.Thursday,"四"); DicWeek.Add(DayOfWeek.Tuesday,"二"); DicWeek.Add(DayOfWeek.Wednesday,"三"); } private static readonly DictionaryString> DicWeek = new Dictionary ,>String>(); /// ,>/// 定时更新前段显示信息事件 /// /// /// private void enableClock( object sender,EventArgs E) { datetiR_812_11845@e dt = datetiR_812_11845@e.Now; this.txtMonth.Text = String.Format(" {0:00}",dt.Month); this.txtDay.Text = String.Format(" {0:00}",dt.Day); this.txtWeek.Text = DicWeek[dt.DayOfWeek]; this.txtHour.Text = String.Format(" {0:00}",dt.Hour); this.txtminute.Text = String.Format(" {0:00}",dt.minutE); this.txtSecond.Text = String.Format(" {0:00}",dt.Second); } DispatcherTimer timer = new DispatcherTimer(); private void UserControl_Loaded( object sender,RoutedEventArgs E) { enableClock( null,null); timer.Interval = new TimeSpan(0,1); timer.Tick += new EventHandler(enableClock); timer.Start(); } private void Copyright_MouSELEftButtonDown( object sender,MouseButtonEventArgs E) { HtmlPage.Window.Navigate( new Uri(" http://www.csdn.net/")," new"); } private void TextBlock_MouseEnter( object sender,MouseEventArgs E) { if (sender == null) return; TextBlock tb = sender as TextBlock; if (tb == null) return; // TextBlock.foreground tb.Foreground = new SolidColorBrush(Colors.Red); // TextBlock.textDecorations tb.TextDecorations = TextDecorationS.Underline; tb.cursor = cursors.Hand; } private void TextBlock_MouSELEave( object sender,MouseEventArgs E) { if (sender == null) return; TextBlock tb = sender as TextBlock; if (tb == null) return; // TextBlock.foreground tb.Foreground = new SolidColorBrush(Color.FromArgb(255,16,8,136)); // TextBlock.textDecorations tb.TextDecorations = null; tb.cursor = cursors.Arrow; } private void FullScreen_MouSELEftButtonDown( object sender,MouseButtonEventArgs E) { Application.Current.Host.Content.IsFullScreen = !Application.Current.Host.Content.IsFullScreen; } } }
其他文件没有变化。
这个程序我觉得挺适合初学者做出第一个有点意思的Silverlight程序。所以就把它改写成Silverlight 3 的程序了。
以上是大佬教程为你收集整理的Silverlight 版的电子表全部内容,希望文章能够帮你解决Silverlight 版的电子表所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。