技术开发 频道

Windows phone开发:Silverlight控件

  【IT168技术】本文主要介绍Windows Phone 7下使用Silverlight进行开发的各种常用控件。这些控件可以更加快速地帮助开发者设计出效果出众、风格统一的应用程序界面。大多数复杂的项目都是从这些基本的控件使用开始的。

Silverlight控件模型

  Silverlight控件模型

  Silverlight控件是一种用来显示内容的类型。表6-1列出了常见控件的内容类型和内容属性(注意:Windows Phone 7并不完全支持这些控件)。

  表6-1 常见控件的内容类型和内容属性

Silverlight控件模型

 

  1、文本控件

  文本控件用来显示字符串内容,主要有3种类型的控件:TextBlock、TextBox和PasswordBox以及RichTextBox。它们分别用来显示简单只读的文本、可编辑的文本、密码和多格式的可编辑文本。

  (1)TextBlock

  该控件继承自FrameworkElement。主要用来显示只读文本。可以使用Text属性对其进行赋值,Text属性接受String类型。如果需要使用样式,那么可以使用Inlines属性,其接受InlineCollection类型。InlineCollection接受Inline对象。后者是一个抽象类,可以使用派生自Inline的Run或者LineBreak来填充该集合。从而可以设置每个Inline的字体、样式和大小。一般情况下,使用Text属性即可。

  (2)TextBox和PasswordBox

  TextBox控件继承自Control,用于显示可编辑的文本信息。使用Text属性来设置其内容。可以使用TextWrapping来设置文本是否换行,也可以指定FontStyle、FontWeight、FontSzie和FontFamily来设置文本格式。

  PasswordBox控件继承自TextBox,用于显示和输入密码信息,但只允许使用一行文本,并使用符号隐藏用户输入内容。

  (3)RichTextBox

  该控件继承自Control,显示和编辑多格式文本。使用Blocks属性设置RichTextBox内容。其中,Blocks属性包含Paragraph集合。后者可以包含许多类型,如Inline、InlineUIContainer、Run、Span、Bold、Hyperlink、Italic、Underline等。

  2 显示单个元素的控件(内容控件)

  此类型控件派生自ContentControl类,如按钮控件Button、RepeatButton和HyperLinkButton;选择控件CheckBox和RadioButton;容器控件ListBoxItem、ComboBoxItem和DataGridCell。

  所有的该类型控件都是通过设置Content(内容)属性来显示一段内容的。内容属性属于Object类型,对于内容类型没有什么限制,而且可以嵌套内容显示。如可以在CheckBox中嵌套图像和文本。

  3 TabItem控件

  该控件也属于内容控件,但比较特殊的是它还可以设置标题,通过Content设置其内容,以及通过Header属性设置内容标题。类似地,Header属性也属于Object类型,所以其包含的内容也没有限制。

  4 显示对象集合的控件

  有两种显示对象集合的控件:项控件和DataGrid控件。

  (1)项控件

  此类控件继承自ItemControl类。如ListBox、ComboBox、TreeView等。项控件显示的集合类型与控件类型和填充的集合有关。每个项控件都有一个项容器,如与上面3个控件对应的项容器分别是:ListBoxItem、ComboBoxItem、TreeViewItem。

  项控件具有两个不同的属性Items和ItemsSource,用于确定项内容。

  Items属性用来直接填充项控件,其类型为ItemCollection,是一个泛型类型PresentationFrameworkCollection。当然使用Add方法也可以向现有的集合中添加项。

  ItemsSource属性可以将实现IEnumerable的类型用做ItemsControl的内容。一般情况下设置了该属性,会自动为集合中的每个项创建项容器。

  (2)DataGrid控件

  该控件继承自Control,虽然不是项控件,但是它和项控件一样不能手动填充。必须将ItemsSource设置为对象集合,控件才会自动为集合中的每一对象创建一行。通过将AutoGenerateColumns设置为ture,来自动为对象类型的每个属性生成一列。通过Columns来指定列。

  5 HeaderedItemsControl控件

  该控件是一种比较特别的项控件,这是因为它可以设置项集合和标题。它也具有ItemSource属性,此外还有Header属性设置标题。该控件在需要分层显示数据的时候非常有用。

  6 显示用户界面元素的控件

  此类控件派生自Panel类,用于显示用户界面和进行控件布局。它们的内容属性为Children。该属性的类型为UIElementCollection,且只能包含UIElement对象。

0
相关文章