(2)SilverLight程序的简单实现

新建 一个silverlight项目  添加两个工程

server工程的 代码

    <Grid x:Name="LayoutRoot" Background="Black">

    </Grid>

application的代码


    <Grid x:Name="LayoutRoot" Background="Red">

    </Grid>

启动web   很显然会出现一个black背景的网页,那第二个工程跑哪里去了?

删除Server.xap 启动,悲剧,它又回来了,还是无法指定到第二个项目的红色背景,

进入ServerTestPage.aspx 在<body> 中发现一个

 <param name="source" value="ClientBin/Server.xap"/>,这个就是制定的数据源

更改一下

 <param name="source" value="ClientBin/SilverlightApplication2.xap"/>

启动,就变成了地儿启动项了

 

 

继续,搞起

既然选择了wpf和silverlight,那就正规点,mvvm

新建一个

namespace SilverlightApplication2

{

    public class MainPageVM : INotifyPropertyChanged

    {

        private string name;

        public string Name

        {

            get { return name; }

            set

            {

                name = value;

                OnPropertyChanged(Name);

            }

        }



        private string id;

        public string ID

        {

            get { return id; }

            set

            {

                id = value;

                OnPropertyChanged(ID);

            }

        }







        public event PropertyChangedEventHandler PropertyChanged;

        private void OnPropertyChanged(string propertyName)

        {

            if (PropertyChanged != null)

                PropertyChanged(this, new PropertyChangedEventArgs(propertyName));

        }

    }

}

INotifyPropertyChanged接口是通知,可以做到实时通知,具体实现,这里不做详细介绍。

实现接口,写两个属性,一个名字一个id

   public partial class MainPage : UserControl

    {

        public MainPage()

        {

            InitializeComponent();

            DataContext = new MainPageVM();

        }

    }

关联上,然后在界面写

<UserControl x:Class="SilverlightApplication2.MainPage"

    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">



    <Grid x:Name="LayoutRoot" Background="White">

        <Grid.RowDefinitions>

            <RowDefinition Height="30"/>

            <RowDefinition Height="30"/>

            <RowDefinition Height="30"/>

        </Grid.RowDefinitions>

        

        <Grid.ColumnDefinitions>

            <ColumnDefinition Width="60"></ColumnDefinition>

            <ColumnDefinition Width="120"></ColumnDefinition>

            <ColumnDefinition Width="*"></ColumnDefinition>

        </Grid.ColumnDefinitions>

        

        <TextBlock Text="用户名:"/>

        <TextBlock Grid.Row="1" Text="密  码:"/>

        <TextBox Name="fishName" Grid.Column="1" />

        <TextBox Name="fishPassword" Grid.Row="1" Grid.Column="1" />

        <Button Content="提交" Grid.Row="2" Grid.Column="1" Width="60" Click="Button_Click" HorizontalAlignment="Right"  />

    </Grid>

</UserControl>

button 有一个属性是command 可以关联 command 这个接口,但是siverlight里我没找到,这也是我觉得wpf和silverlight有区别的原因

 <Button Content="提交" Grid.Row="2" Grid.Column="1" Width="60" Command={Binding Query} HorizontalAlignment="Right"  />
query是一个属性,以后如果碰到3d动画,这里面的差距会更大,然后编译生成,你就能看到一个简答的页面了

你可能感兴趣的:(silverlight)