程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> C# 4.0中的動態類型和動態編程(3)

C# 4.0中的動態類型和動態編程(3)

編輯:關於C語言

4.添加對Html DOM對象的動態訪問

我們在Page類中添加兩個dynamic類型的對象doc和win,分別表示當前頁面和窗口,修改後Page類如下 :

public partial class Page : UserControl
     {
     // 添加的代碼
       dynamic doc = HtmlPage.Document.AsDynamic();
       dynamic win = HtmlPage.Window.AsDynamic();
     //…
}

然後,我們修改Page類的函數btnSearch_Click(),當用戶點擊”Get All”按鈕後,更加用戶搜索的 內容,修改窗口的標題。

void btnSearch_Click(object sender, RoutedEventArgs e)
     {
         doc.Title = "Pictures of " + txtTag.Text;
         lstPictures.ItemsSource = Source.LoadItems();
     }

5.添加Virtual Earth JScript控件

打開解決方案中的測試頁StartPage.htm,在<title>標簽的前面添加如下Jave Script代碼,引 用Virtual Earth控件:

<script type="text/Javascript" src="http://dev.virtualearth.Net/mapcontrol/mapcontrol.ashx?v=6.1"/>

然後,在<body>標簽中添加如下代碼,定義地圖控件的位置和大小:

<div id='myMap' style="position:absolute; top:40px; left:200px; width:550px; height:400px;"/>

通過簡單的兩步,我們就完成了對測試頁面的修改。接下來的工作就是通過C#訪問和控制Virtual Earth控件了。

6.用C#代碼控制Virtual Earth控件

在Page類中添加如下代碼控制Virtual Earth控件,以實現獲取地圖,添加Pin的功能:

dynamic map = null;
     void GetMap()
     {
         map = win.New.VEMap("myMap");
         map.LoadMap();
     }
     void AddPin(Item item)
     {
         dynamic loc = win.New.VELatLong(item.Latitude, item.Longitude);
         var pin = map.AddPushpin(loc);
         pin.SetTitle(item.Title);
         pin.SetDescription(item.Description);
         map.SetCenterAndZoom(loc, 7);
     }

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved