一起学习Silverlight企业应用2:开始使用Silverlight,以及一些基本概念
2010-07-16 12:02
746 查看
Silverlight 的一些概念
对于没有应用过WPF的开发人员来说,这里有一些新的概念需要了解,当然也有很多区别于WPF的地方。
展示与逻辑的分离
展示与逻辑分离是Silverlight设计的核心原则,不仅仅是考虑CSS 和 HTML. XAML (扩展应用程序标记语言)是我们分离展示与逻辑的有力工具,同时基于XAML,也方便在开发人员与美术设计人员之间建立平顺的工作流。
认识XAML(别紧张,它只是XML))
XAML 只是 XML,并没有什么神奇之处。 只不过是将对象画面序列化到XML的一种方式。 换言之,每一个你在XAML中看到的元素与属性最终会在内存中生成他们自己。 当然 XAML 也有自己的一些规则和模式,很多方面XAML 就像 HTML,因为它们都是用来定义用户界面。
例如下面的ASP页面中的代码
<form id="form1" runat="server">
<div>
<asp:Button ID="Button1" runat="server" Text="Button" />
</div>
</form>
生成的图像如下
同样生成一个Button的XAML 如下
<Grid x:Name="LayoutRoot" Background="White">
<Button Width="100" Height="50" Content="Button"></Button>
</Grid>
图像效果为
你也可以在代码中定义界面元素,和在XAML中一样,比如:
Button b = new Button();
b.Width = 100;
b.Height = 50;
b.Content = "Button";
LayoutRoot.Children.Add(b);
LayoutRoot.Background = new SolidColorBrush(Colors.White);
定义了同样的Button.
如果这两种方式你现在还有些迷惑的话,我们在后面的章节还有详细说明。
依赖属性(Dependency Property)
依赖属性可以理解为一般属性(Property)的基础上,Silverlight 增加了一些控制和管理。依赖属性提供了一种计算属性值的途径,基于输入或属性值被改变时,提供了一种通知机制。
通往Silverlight大道上的小石子
有一些小问题可能会引起你的困扰,我们在这里指出:
1, Silverlight 不支持 GIF 图像。
主要是GIF的清晰度和透明度不够,但是不用担心,Silverlight 支持 PNG 和 JPG,你可以使用工具轻松地转换为这两种格式。
2,Visibility 不是布尔类型
Visibility 不是布尔类型,而是两个枚举值:Collapsed and Visible 。这主要是由WPF那边沿袭过来的,WPF元素有3个值,多了一个Hidden,Silverlight不支持Hidden.
3, 是 Button.Content, 而不是 Button.Text
注意Silverlight 用的是Button.Content而不是你所想的Button.text.
考虑下面的XAML:
<Grid x:Name="LayoutRoot" Background="White">
<Button Height="50" Width="100" >
<Button.Content>
<CheckBox Content="CheckBox"></CheckBox>
</Button.Content>
</Button>
</Grid>
Content 属性扩展为一个XML元素,一个CheckBox,生成的XAML如下所示:
等等,还有更多
看下面的XAML
<Grid x:Name="LayoutRoot" Background="White">
<Button Height="50" Width="100">
<Button.Content>
<CheckBox>
<CheckBox.Content>
<Button Content="Button"></Button>
</CheckBox.Content>
</CheckBox>
</Button.Content>
</Button>
</Grid>
生成的界面是
这里的CheckBox 和Button 都表现出了容器类的特点,即在一个Control中可以包含有其他的Control,被包含的Control还可以继续包含别的Control,以此类推。且不管这个例子是否实用,现在你最起码知道我们能做出许多很Cool 的东西了吧。
是行动的时候了,下面我们做一个简单的Silverlight 程序(待续...)
对于没有应用过WPF的开发人员来说,这里有一些新的概念需要了解,当然也有很多区别于WPF的地方。
展示与逻辑的分离
展示与逻辑分离是Silverlight设计的核心原则,不仅仅是考虑CSS 和 HTML. XAML (扩展应用程序标记语言)是我们分离展示与逻辑的有力工具,同时基于XAML,也方便在开发人员与美术设计人员之间建立平顺的工作流。
认识XAML(别紧张,它只是XML))
XAML 只是 XML,并没有什么神奇之处。 只不过是将对象画面序列化到XML的一种方式。 换言之,每一个你在XAML中看到的元素与属性最终会在内存中生成他们自己。 当然 XAML 也有自己的一些规则和模式,很多方面XAML 就像 HTML,因为它们都是用来定义用户界面。
例如下面的ASP页面中的代码
<form id="form1" runat="server">
<div>
<asp:Button ID="Button1" runat="server" Text="Button" />
</div>
</form>
生成的图像如下
同样生成一个Button的XAML 如下
<Grid x:Name="LayoutRoot" Background="White">
<Button Width="100" Height="50" Content="Button"></Button>
</Grid>
图像效果为
你也可以在代码中定义界面元素,和在XAML中一样,比如:
Button b = new Button();
b.Width = 100;
b.Height = 50;
b.Content = "Button";
LayoutRoot.Children.Add(b);
LayoutRoot.Background = new SolidColorBrush(Colors.White);
定义了同样的Button.
如果这两种方式你现在还有些迷惑的话,我们在后面的章节还有详细说明。
依赖属性(Dependency Property)
依赖属性可以理解为一般属性(Property)的基础上,Silverlight 增加了一些控制和管理。依赖属性提供了一种计算属性值的途径,基于输入或属性值被改变时,提供了一种通知机制。
通往Silverlight大道上的小石子
有一些小问题可能会引起你的困扰,我们在这里指出:
1, Silverlight 不支持 GIF 图像。
主要是GIF的清晰度和透明度不够,但是不用担心,Silverlight 支持 PNG 和 JPG,你可以使用工具轻松地转换为这两种格式。
2,Visibility 不是布尔类型
Visibility 不是布尔类型,而是两个枚举值:Collapsed and Visible 。这主要是由WPF那边沿袭过来的,WPF元素有3个值,多了一个Hidden,Silverlight不支持Hidden.
3, 是 Button.Content, 而不是 Button.Text
注意Silverlight 用的是Button.Content而不是你所想的Button.text.
考虑下面的XAML:
<Grid x:Name="LayoutRoot" Background="White">
<Button Height="50" Width="100" >
<Button.Content>
<CheckBox Content="CheckBox"></CheckBox>
</Button.Content>
</Button>
</Grid>
Content 属性扩展为一个XML元素,一个CheckBox,生成的XAML如下所示:
等等,还有更多
看下面的XAML
<Grid x:Name="LayoutRoot" Background="White">
<Button Height="50" Width="100">
<Button.Content>
<CheckBox>
<CheckBox.Content>
<Button Content="Button"></Button>
</CheckBox.Content>
</CheckBox>
</Button.Content>
</Button>
</Grid>
生成的界面是
这里的CheckBox 和Button 都表现出了容器类的特点,即在一个Control中可以包含有其他的Control,被包含的Control还可以继续包含别的Control,以此类推。且不管这个例子是否实用,现在你最起码知道我们能做出许多很Cool 的东西了吧。
是行动的时候了,下面我们做一个简单的Silverlight 程序(待续...)
相关文章推荐
- windows下学习nsq,以及基本使用概念
- 在Flex应用中使用全局变量以及学习中flex中需要的一些资料
- 一起学习Silverlight企业应用 1: 开篇
- vs2010 学习Silverlight学习笔记(3):一些控件的基本应用
- Hadoop学习三:hadoop的一些基本配置以及相关概念
- javascript学习笔记(二) js一些基本概念
- lucene.net的一些基本使用方法和概念
- C#学习基本概念之属性使用
- 使用CORBA应理解的一些基本概念
- 【Tensorflow专题-01】深度学习应用介绍及tensorflow基本使用
- WPF and Silverlight 学习笔记(二十八):基本图形的使用(3)图形的操作
- lucene.net的一些基本使用方法和概念
- ios学习之UI控件的一些基本使用
- 自动垃圾回收学习笔记-一些基本概念
- 关于Runtime Permissions的学习以及使用的一些注意事项
- Spring---AOP基本概念以及Advice5种类型的通知注解应用实例
- 公司要使用php做一些开发,开始学习php
- 菜鸟学习linux笔记与练习-----第二天。一些基本命令以及初级网络配置
- 整理一下最近学习使用的一些IT工具,老的新的都有之一基本篇
- Storm 实时云计算 学习使用 包括基本api 以及 高层次api trident 的基本使用