导出 (0) 打印
全部展开
信息
您所需的主题如下所示。但此主题未包含在此库中。

快速入门:为 Windows Phone 8 添加控件和处理事件

2014/6/18

适用于:Windows Phone 8 和 Windows Phone Silverlight 8.1 | Windows Phone OS 7.1

您可以使用诸如按钮、文本框和下拉列表之类的控件来为您的 Windows Phone 应用创建 UI。通常在使用控件时会使用以下模式:

  • 向您的应用 UI 添加一个控件。

  • 设置控件的属性,例如宽度、高度或前景色。

  • 分配一些代码给控件的事件处理程序,使控件可以执行一些操作或功能。

本主题包括以下部分。

您可以采用多种方式将控件添加到 Windows Phone 应用:

  • 从 Visual Studio 的工具箱添加控件。

  • 在 XAML 视图中添加控件。

  • 在代码中添加控件。

下图演示使用 Visual Studio 创建 Windows Phone。当您在应用中添加和操作控件时,您可以使用 Visual Studio 的许多功能,包括工具箱、设计视图、XAML 视图和“属性”窗口。

Using Controls - Designer

Visual Studio 工具箱显示了您可以在您的应用使用中的多种控件。下图显示了工具箱中的一些 Windows Phone 控件。

UsingControls - Toolbox
提示提示:

Windows Phone Toolkit 包含用于手机开发的附加控件。该工具包包含开发过程各个阶段的控件。随着控件的成熟,工具包中的某些控件将移入运行时。工具包中某些控件将被完成移除。

要将一个控件添加到您的应用,请在工具箱中双击它。您也可以将控件拖到“设计”视图。当您双击 TextBox 控件,以下 XAML 将被添加到 XAML 视图。

<TextBox x:Name="MyTB" HorizontalAlignment="Left" Height="72" Margin="10,10,0,0" 
    Text="TextBox" VerticalAlignment="Top" Width="460" />

要在代码中使用控件,您应该引用它的名称。每一个控件都有一个唯一的名称,您可以通过设置它的 Name 属性来更改其名称。可以在 Visual Studio 的“属性”窗口中或在 XAML 中设置名称。下图演示如何使用位于“属性”窗口顶部的名称文本框更改当前选定控件的名称。

UsingControls - Properties Window Name

下图演示如何通过更改 Name 特性更改 XAML 视图中的控件的名称。

UsingControls - XAML lName

使用属性指定控件的外观、内容或其他特性。如同控件名称一样,您可以在“属性”窗口中、在 XAML 中或在代码中设置控件属性。要更改 TextBox 的前景色,请设置控件的 Foreground 属性。下图演示如何使用“属性”窗口设置 Foreground 属性。

UsingControls - Properties Window Foreground

下图演示如何在 XAML 视图中设置 Foreground 属性。请留意打开的 Visual Studio IntelliSense 窗口,其中会提供有关语法的帮助。

UsingControls - XAML Foreground

下面的内容演示设置 Foreground 属性后生成的 XAML。

<TextBox x:Name="MyTB" HorizontalAlignment="Left" Height="72" Margin="10,10,0,0" 
    Text="TextBox" VerticalAlignment="Top" Width="460"
    Foreground="Red" />

下面的示例演示如何在代码中设置 Foreground 属性。

SolidColorBrush scb = new SolidColorBrush(Colors.Red);
MyTB.Foreground = scb;

只需在“设计”视图中选择和操作控件,即可更改某些属性(例如 WidthHeightMargin)。下图演示“设计”视图中某些可用的调整大小工具。

UsingControls - Resize

每个控件都有使您能够响应用户操作的事件。例如,Button 控件包含单击 Button 时引发的 Click 事件。可以创建一个称为“事件处理程序”的方法来处理事件。可以在“属性”窗口中或在 XAML 中创建事件处理程序。您还可以在代码中手动创建事件处理程序。

您可以使用“属性”窗口的“事件”选项卡创建事件处理程序。若要创建事件处理程序,您可以选择控件,然后单击“属性”窗口顶部的“事件”选项卡。“属性”窗口会列出该控件的所有可用事件。下图列出了 TextBox 的一些事件。

Using Controls - Events Tab

若要创建事件处理程序,请在“属性”窗口中指定事件的名称。此时将创建事件处理程序并且将在代码编辑器中打开代码隐藏文件。下面的代码演示 TextBox(名为 MyTB)的 TextChanged 事件的事件处理程序。当 TextBox 中的文本发生了更改,名为 MyBlockTextBlockText 属性将更改为“You entered text!”

private void MyTB_TextChanged(object sender, TextChangedEventArgs e)
{
    MyBlock.Text = "You entered text!";
}

您还可以在 XAML 中创建事件处理程序。在 XAML 视图中,键入要处理的事件名称。XAML 视图会在您开始键入时显示 IntelliSense 窗口。下图演示如何在 XAML 中指定 TextChanged 事件。

UsingControls - XAML TextChanged

指定事件后,您可以双击所显示的 IntelliSense 窗口中的 <新事件处理程序,以使用默认名称创建新的事件处理程序。下图演示为了帮助您创建新事件处理程序而显示的 IntelliSense 窗口。

UsingControls - XAML TextChanged EventHandler

下面的 XAML 显示了 TextChanged 事件,该事件与名为 MyTB_TextChanged 的事件处理程序关联。

<TextBox x:Name="MyTB" TextChanged="MyTB_TextChanged" HorizontalAlignment="Left" Height="72"
    Margin="10,10,0,0" Text="TextBox" VerticalAlignment="Top" Width="260"
    Foreground"Red"
 />

在代码隐藏文件中,您也可以将事件与其事件处理程序关联。下面的代码演示如何在 C# 中执行此操作。

MyTB.TextChanged +=new TextChangedEventHandler(MyTB_TextChanged);

显示:
© 2015 Microsoft