Silverlight学习笔记一(理解一下机制,使用一下布局,实现一个简单的用户登录)
今天把silverlight入了个门,主要是转变一下思想,跟flash的开发有点类似,跟java的applet有点类似。
下面是几点总结:
下面是几点总结:
1.Silverlight应用不能够独立运行,选择创建一个ASP.NET Web Site或者Web
Application Project用来托管Silverlight应用程序。
2.Silverlight项目默认包括两个项目,
一个是类库项目:FirstSilverlight
一个是网站项目:FirstSilverlight.Web
3.Silverlight不能直接右击.aspx点浏览,需要运行。
4.Silverlight中的Page.xaml就相当于flash的一个场景,
进入这里之后,你在这里执行你的动作,忘记.aspx页面的方式。
不要考虑着提交到哪个页面,只管在这个页面里写程序。
比如登录了,进入登录后的页面,可以把登录界面的控件隐藏了。
把登录后界面的控件显示出来。
参考李会军的入门系列:http://www.cnblogs.com/Terrylee/archive/2008/03/07/Silverlight2-step-by-step-part1.html
Page.xaml代码如下,这里相当于flash开发:
代码
<UserControl x:Class="FirstSilverlight.Page"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Width="800" Height="600">
<Grid x:Name="LayoutRoot" Background="#46461F" ShowGridLines="True"><!--相当于table-->
<Grid.RowDefinitions>
<RowDefinition Height="50"/><!--这里定义行,相当于tr-->
<RowDefinition Height="*"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="100"/><!--这里定义列,相当于td-->
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<!--这里不用再用<td></td>包起来了, Grid.Row="2" Grid.Column="1" 这样子定义行列-->
<TextBlock Grid.Row="0" Grid.Column="0" Text="UserName:" VerticalAlignment="Center" Foreground="White"></TextBlock>
<TextBlock Grid.Row="1" Grid.Column="0" Text="Password:" VerticalAlignment="Center" Foreground="White"></TextBlock>
<TextBox x:Name="txtUserName" Grid.Row="0" Grid.Column="1" Width="200" Height="30" HorizontalAlignment="Left"></TextBox>
<TextBox x:Name="txtPwd" Grid.Row="1" Grid.Column="1" Width="200" Height="30" HorizontalAlignment="Left"></TextBox>
<Button x:Name="myButton" Content="登录" Width="240" Height="100" Click="myButton_Click" Grid.Row="2" Grid.Column="1" HorizontalAlignment="Left"></Button>
</Grid>
</UserControl>
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Width="800" Height="600">
<Grid x:Name="LayoutRoot" Background="#46461F" ShowGridLines="True"><!--相当于table-->
<Grid.RowDefinitions>
<RowDefinition Height="50"/><!--这里定义行,相当于tr-->
<RowDefinition Height="*"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="100"/><!--这里定义列,相当于td-->
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<!--这里不用再用<td></td>包起来了, Grid.Row="2" Grid.Column="1" 这样子定义行列-->
<TextBlock Grid.Row="0" Grid.Column="0" Text="UserName:" VerticalAlignment="Center" Foreground="White"></TextBlock>
<TextBlock Grid.Row="1" Grid.Column="0" Text="Password:" VerticalAlignment="Center" Foreground="White"></TextBlock>
<TextBox x:Name="txtUserName" Grid.Row="0" Grid.Column="1" Width="200" Height="30" HorizontalAlignment="Left"></TextBox>
<TextBox x:Name="txtPwd" Grid.Row="1" Grid.Column="1" Width="200" Height="30" HorizontalAlignment="Left"></TextBox>
<Button x:Name="myButton" Content="登录" Width="240" Height="100" Click="myButton_Click" Grid.Row="2" Grid.Column="1" HorizontalAlignment="Left"></Button>
</Grid>
</UserControl>
Page.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 FirstSilverlight
{
public partial class Page : UserControl
{
public Page()
{
InitializeComponent();
}
private void myButton_Click(object sender, RoutedEventArgs e)
{
//this.myButton.Content = "Clicked";
//this.myButton.Background = new SolidColorBrush(Colors.Red);
if (txtUserName.Text == "admin" && txtPwd.Text == "admin123")
{
txtUserName.Visibility = System.Windows.Visibility.Collapsed;
txtPwd.Visibility = System.Windows.Visibility.Collapsed;
}
}
}
}
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 FirstSilverlight
{
public partial class Page : UserControl
{
public Page()
{
InitializeComponent();
}
private void myButton_Click(object sender, RoutedEventArgs e)
{
//this.myButton.Content = "Clicked";
//this.myButton.Background = new SolidColorBrush(Colors.Red);
if (txtUserName.Text == "admin" && txtPwd.Text == "admin123")
{
txtUserName.Visibility = System.Windows.Visibility.Collapsed;
txtPwd.Visibility = System.Windows.Visibility.Collapsed;
}
}
}
}
在Default.aspx页面中引入Silverlight场景,代码如下:
代码
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="FirstSilverlight.Web._Default" %>
<%--这里添加声明--%>
<%@ Register Assembly="System.Web.Silverlight" Namespace="System.Web.UI.SilverlightControls" TagPrefix="asp" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<%--这里添加引用--%>
<asp:Silverlight ID="Xaml1" runat="server" Source="~/ClientBin/FirstSilverlight.xap" Version="2.0" Width="100%" Height="100%" />
</div>
</form>
</body>
</html>
<%--这里添加声明--%>
<%@ Register Assembly="System.Web.Silverlight" Namespace="System.Web.UI.SilverlightControls" TagPrefix="asp" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<%--这里添加引用--%>
<asp:Silverlight ID="Xaml1" runat="server" Source="~/ClientBin/FirstSilverlight.xap" Version="2.0" Width="100%" Height="100%" />
</div>
</form>
</body>
</html>
源码下载:https://files.cnblogs.com/greatverve/FirstSilverlight.rar
我这个博客废弃不用了,今天想寻找外链的时候,突然想到这个博客权重很高。
有需要免费外链的,留言即可,我准备把这个博客变成免费的友情链接站点。