您的位置:首页 > 其它

一起学习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 程序(待续...)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: