PIE SDK圖層樹夥伴控件示例

1.  功能簡介

    TocControl控件的主要做用是顯示當前加載的圖層有哪些、採用什麼樣的符號等,目的是使用戶對當前加載的數據和結構有一個整體的把握。與之相關聯的夥伴控件有MapControl,PageLayoutControl。編輯器

    TOCControl 爲用戶提供了一個交互式的環境,若是 TOCControl 控件的夥伴控件是 MapControl 控件,當咱們將 TOCControl 控件中圖層刪掉是,MapControl 控件中相應的圖層也會被刪掉。工具

    當地圖視圖和製圖視圖都存在的時候,TocControl控件要與PageLayoutControl控件進行綁定,MapControl的map和PageLayoutControl的map關聯,這樣才能確保地圖視圖和製圖視圖的數據保持一致。spa

 

[圖層樹-夥伴控件對應]設計

2.  功能實現說明

1、界面設計3d

     一、在主界面上添加控件SplitContainer,將Dock屬性設置爲填充「Fill」,在左邊一個pannel裏面添加圖層樹TOCControl控件,code

 

     二、在右邊的pannel裏面從工具箱裏添加一個TabControl控件,將Dock屬性設置爲填充「Fill」;視頻

  而後右鍵TabControl控件修改屬性「Alignment」爲「Bottom」,blog

  修改屬性「Dock」爲「Bottom」填充,使控件填充頁面教程

  最後修改屬性,進入TabPage集合編輯器頁面,依次選擇左側的將tabPage1的Text修改成「地圖模式」,tabPage2的Text修改成「製圖模式」。而後肯定。事件

 

    三、點擊地圖模式按鈕,添加MapControl控件,設置Dock爲「Fill」,修改屬性「Name」爲MapControlMain,而後再點擊製圖模式按鈕,添加PageLayoutControl控件,設置Dock爲Fill,設置Name爲PageLayoutControl1

2、圖層樹,地圖和製圖視圖綁定

     一、界面設計好以後,首先在窗體初始化的時候進行地圖初始化,爲了圖層樹和地圖進行關聯,地圖和製圖數據同步,因此將mapControl的地圖和PageLayoutControl的地圖進行綁定,將PageLayoutControl與圖層樹進行綁定。

     

 1  /// <summary>
 2         /// 初始化
 3         /// </summary>
 4         private void Init()
 5         {
 6             //地圖和製圖綁定,圖層樹和製圖綁定
 7             mapControlMain.FocusMap = pageLayoutControl1.FocusMap;
 8             tocControlMain.SetBuddyControl(pageLayoutControl1 as IPmdContents);
 9             pageLayoutControl1.DeActivate();
10             mapControlMain.Activate();
11         }

    二、地圖模式和製圖模式窗口切換

右鍵TabControl控件屬性,選擇事件,找到SelectIndexChange事件,進行功能實現

 

 1         /// <summary>
 2         /// 地圖和製圖窗口切換
 3         /// </summary>
 4         /// <param name="sender"></param>
 5         /// <param name="e"></param>
 6         private void tabControl1_SelectedIndexChanged(object sender, EventArgs e)
 7         {
 8             if (tabControl1.SelectedIndex == 0)//地圖模式
 9             {
10                 ActiveMapControl();
11             }
12             else if (tabControl1.SelectedIndex == 1)//製圖模式
13             {
14                 ActivePagelayoutControl();
15             }
16         }
17 
18         /// <summary>
19         /// 激活地圖模式
20         /// </summary>
21         private void ActiveMapControl()
22         {
23             pageLayoutControl1.DeActivate();
24             mapControlMain.Activate();
25             mapControlMain.PartialRefresh(ViewDrawPhaseType.ViewAll);
26         }
27 
28         /// <summary>
29         /// 激活製圖模式
30         /// </summary>
31         private void ActivePagelayoutControl()
32         {
33             mapControlMain.DeActivate();
34             pageLayoutControl1.Activate();
35             pageLayoutControl1.PartialRefresh(ViewDrawPhaseType.ViewAll);
36         }

示例代碼路徑:

項目路徑

百度雲盤地址下/PIE示例程序/11.圖層樹功能/ PIEDemo_SetBuddy

數據路徑

百度雲盤地址下/PIE示例數據/柵格數據/ World/World.tif

視頻路徑

百度雲盤地址下/PIE視頻教程/11.圖層樹功能/01.圖層樹夥伴控件.avi

 

3、效果圖以下圖所示

 

相關文章
相關標籤/搜索