技术开发 频道

详细解析WPF中的应用程序模型

  【IT168 技术文档】

  创建一个WPF应用程序

  使用WPF(Windows Presentation Foundation),您可以创建两种主要类型的应用程序:安装应用程序和 Web 浏览器的应用程序。两者之间的主要区别在于它们的托管方式,以及是否支持页面到页面之间的导航。Microsoft Visual Studio 2008为这两种应用都提供了模板。

  在本实验室,我们将一起创建一个安装应用程序,最后将其通过ClickOnce或MSI部署安装到用户的操作系统,并托管在一个独立的窗口之中。这种类型的应用程序对最终用户的系统资源有完全访问权限,在部署之前也必须获得用户的许可。

  1.创建基本应用

  (1)启动Microsoft Visual Studio 2008

  (2)使用C# “WPF Application”模板创建一个新项目。将其命名为’AddressBook’。这一步将搭建应用程序的基本骨架。

  (3)地址簿应用程序会帮助您管理您的联系人。在项目中添加一个新的C#类。您可以通过Solution Explorer,在’AddressBook’项目上点击右键,选择Add?New Item,然后在对话框中选择'Class‘。我们将它命名为Contact.cs,并在文件里建立我们的数据模型:

using System;
using System.Collections.ObjectModel;

namespace AddressBook
{
    
/// <summary>
    
/// Contact value object
    
/// </summary>
    public class Contact
    {
      
        
/// <summary>
        
/// First name of contact
        
/// </summary>
        public String FirstName
        {
            
get;
            
set;
        }
        
        
/// <summary>
        
/// Last name of contact
        
/// </summary>
        public String LastName
        {
            
get;
            
set;
        }
        
        
/// <summary>
        
/// Email address of contact
        
/// </summary>
        public String EmailAddress
        {
            
get;
            
set;
        }

        
/// <summary>
        
/// Home page
        
/// </summary>
        public Uri HomePage
        {
            
get;
            
set;
        }

        
/// <summary>
        
/// Home address
        
/// </summary>
        public string HomeAddress
        {
            
get;
            
set;
        }

        
/// <summary>
        
/// Business address
        
/// </summary>
        public string BusinessAddress
        {
            
get;
            
set;

        }

    }

    
/// <summary>
    
/// This collection will hold all of our contacts in the
    
/// address book
    
/// </summary>
    public class ContactList : ObservableCollection<Contact>
    {
        
public ContactList()
            :
base()
        {
        }
    }
}

 

  您会注意到ContactList这个类继承了ObservableCollection,因此为数据上下文提供了可绑定的数据集合。DataContext属性用来指定绑定的数据源。使用WPF数据集合特性,您的应用程序可以自动对集合中单一数据项的更新做出反应,也可以自动对整个集合的更新做出反应。数据集合也可以支持在不修改集合中数据的情况下进行排序、过滤和浏览。ObservableCollection是WPF对数据集合的内置实现。在任务2里我们会集中于数据绑定的实现。

1
相关文章