如何:绑定到 Web 服务

此示例演示如何绑定到由 Web 服务方法调用返回的对象。

示例

此示例使用 MSDN/TechNet Publishing System (MTPS) Content Service(MSDN/TechNet 发布系统 (MTPS) 内容服务)检索指定文档支持的语言列表。

在调用 Web 服务之前,需要先创建对该服务的引用。 若要使用 Microsoft Visual Studio 创建对 MTPS 服务的 Web 引用,请按照以下步骤操作:

  1. 在 Visual Studio 中打开项目。

  2. 从**“项目”菜单上,单击“添加 Web 引用”**。

  3. 在对话框中,将**“URL”**设置为 http://services.msdn.microsoft.com/contentservices/contentservice.asmx?wsdl

  4. 按**“转到”,然后按“添加引用”**。

接下来,调用 Web 服务方法并将相应控件或窗口的 DataContext 设置为返回的对象。 MTPS 服务的 GetContent 方法采用对 getContentRequest 对象的引用。 因此,以下示例首先设置一个请求对象:

' 1. Include the web service namespace
Imports BindtoContentService.com.microsoft.msdn.services


...


            ' 2. Set up the request object
            ' To use the MSTP web service, we need to configure and send a request
            ' In this example, we create a simple request that has the ID of the XmlReader.Read method page
            Dim request As New getContentRequest()
            request.contentIdentifier = "abhtw0f1"

            ' 3. Create the proxy
            Dim proxy As New ContentService()

            ' 4. Call the web service method and set the DataContext of the Window
            ' (GetContent returns an object of type getContentResponse)
            Me.DataContext = proxy.GetContent(request)
// 1. Include the web service namespace
using BindtoContentService.com.microsoft.msdn.services;


...


// 2. Set up the request object
// To use the MSTP web service, we need to configure and send a request
// In this example, we create a simple request that has the ID of the XmlReader.Read method page
getContentRequest request = new getContentRequest();
request.contentIdentifier = "abhtw0f1";

// 3. Create the proxy
ContentService proxy = new ContentService();

// 4. Call the web service method and set the DataContext of the Window
// (GetContent returns an object of type getContentResponse)
this.DataContext = proxy.GetContent(request);

设置 DataContext 后,可以创建与 DataContext 所设置到的对象属性的绑定。 在此示例中,DataContext 设置为 GetContent 方法返回的 getContentResponse 对象。 在以下示例中,ItemsControl 绑定到 getContentResponseavailableVersionsAndLocaleslocale 值并显示该值。

<ItemsControl Grid.Column="1" Grid.Row="2" Margin="0,3,0,0"
              ItemsSource="{Binding Path=availableVersionsAndLocales}"
              DisplayMemberPath="locale"/>

有关 getContentResponse 结构信息,请参见 Content Service documentation(内容服务文档)。

请参见

任务

如何:使数据可用于 XAML 中的绑定

概念

数据绑定概述

绑定源概述