65.9K
CodeProject 正在变化。 阅读更多。
Home

走进新的 Microsoft Windows Presentation Foundation (WPF)

starIconstarIconstarIcon
emptyStarIcon
starIcon
emptyStarIcon

3.17/5 (26投票s)

2007年3月16日

CPOL

3分钟阅读

viewsIcon

53530

downloadIcon

645

开始使用 Windows Presentation Foundation 的简单步骤。

引言

Microsoft Windows Presentation Foundation (WPF),以前代号为“Avalon”,为 Longhorn 提供了构建应用程序和高可靠性体验的基础,融合了应用程序 UI、文档和媒体内容,同时充分利用您计算机的全部强大功能。WPF 是 .NET Framework 3.0(以前称为 WinFX)的图形子系统。XAML 是用于编写 WPF 应用程序的标记语言。WPF 为开发人员和设计人员提供了一个统一的编程模型,用于构建包含 UI、媒体和文档的丰富的 Windows 智能客户端用户体验。WPF 提供了一个可靠的编程模型来构建应用程序,并实现了用户界面和业务逻辑之间的清晰分离。

XAML

Microsoft 的 Extensible Application Markup Language (XAML) 是一种声明性的基于 XML 的语言,用于定义对象及其属性、关系和交互。该缩写最初代表 Extensible Avalon Markup Language,其中 Avalon 是 Windows Presentation Foundation (WPF) 的代号,但现在它代表 Extensible Application Markup Language。XAML 文件是通常具有 .xaml 扩展名的 XML 文件。

XAML 在 Windows Presentation Foundation 中用作 UI 对象、事件等。在 Windows Workflow Foundation 中,工作流也使用 XAML 定义。此外,Visual Studio、SharePoint Designer、Microsoft Expression 和 XAMLpad 可用于 XAML 文件操作。

WPF 应用程序

Windows Presentation Foundation 拥有许多出色的功能,可以丰富您的下一代应用程序。WPF 旨在成为桌面 Windows 应用程序的下一代图形 API。用 WPF 编写的应用程序在视觉上质量更高。WPF 中丰富的功能包括图形服务、部署、互操作性、媒体服务、数据绑定、用户界面、注释、成像、效果、文本、输入和可访问性。

从一个 WPF Web 应用程序示例开始

在为 WPF 应用程序开发设置好基础结构后,首先打开 Visual Studio 2005 并创建一个新项目。此 WPF 项目模板将位于 .NET Framework 3.0 下,选择 WinFX Web Browser Application 项目模板。您的新项目将创建两个 .xaml 文件以及与项目相关的其他文件。

在 *Default.xaml* 中添加一个根 Page 元素,并根据您的需求进行自定义配置。首先,将浏览器的标题栏设置为“My First WPF Application”,然后浏览器宽度为 800 个设备无关像素,高度为 600 个设备无关像素,页面标题为“My First WPF Application – Home Page”。

如果您在 *Default.xaml* 文件中发现以下命名空间,
xmlns="http://schemas.microsoft.com/winfx/avalon/2005"
xmlns:x="http://schemas.microsoft.com/winfx/xaml/2005"

请将它们替换为以下命名空间。< br/> xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"

现在添加一个新的 WinFX 页面,并将其命名为 *DisplayPage.xaml*。此 *DisplayPage.xaml* 文件最终将用于将显示数据绑定到 UI。

在 *Default.xaml* 文件中添加以下 XAML 标签以显示带超链接的文本。超链接将导航到您的下一个 XAML 文件。

<!--  Add Links to Other Pages Here -->
<StackPanel Grid.Row="1" Grid.Column="1" Orientation="Horizontal" 
    Margin="0 0 0 40">
    <TextBlock>
        <Hyperlink NavigateUri="DisplayPage.xaml">
            Data DisplayPage
        </Hyperlink>
    </TextBlock>
</StackPanel>

以上格式的文本将显示在您的浏览器中。然后,您可以通过显示格式化在浏览器中的任何位置放置文本。以下 XAML 标签将帮助您格式化文本的显示。

<!--  Basic Display Formatting Below Text-->
<Grid.ColumnDefinitions>
    <ColumnDefinition Width="Auto" />
    <ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
    <RowDefinition Height="*" />
    <RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<Grid.Resources>
    <Style TargetType="{x:Type TextBlock}">
        <Setter Property="FontFamily" Value="Lucida Console" />
        <Setter Property="FontSize" Value="30" />
    </Style>
</Grid.Resources>

现在向您的解决方案添加一个图像文件,并展示如何显示它。在此示例中,我尝试添加一个名为 *tiger.PNG* 的图像。在解决方案资源管理器树中,右键单击图像并从上下文菜单中选择“属性”。

将生成操作从“资源”更改为“内容”。

并将“复制到输出目录”更改为“始终复制”。

并在您的 *DisplayPage.xaml* 文件中放置以下 XAML 标签。

<Viewbox Grid.Row="0" Grid.Column="0" Grid.ColumnSpan="2" 
    StretchDirection="DownOnly">
    <Canvas Width="600" Height="600">
        <Canvas>
            <!-- bounding image Path -->
            <Image Source="tiger.PNG" />
        </Canvas>
    </Canvas>
</Viewbox>

这些是开始使用 Windows Presentation Foundation 的简单步骤。希望这对 WPF 初学者有所帮助。

为您的应用程序设置基础结构

"WPF/E" (代号) for Windows 的 Community Technology Preview (2007 年 2 月)
"WPF/E" (代号) Community Technology Preview 示例包 (2007 年 2 月)
"WPF/E" (代号) Software Development Kit (SDK) Community Technology Preview (2007 年 2 月)

其他

Microsoft Expression Web 免费试用
Microsoft® Expression Web 快速入门指南

参考文献

http://wpf.netfx3.com/
http://msdn2.microsoft.com/en-us/netframework/aa663321.aspx< br/> http://www.xamldev.com

© . All rights reserved.