国产亚洲精品福利在线无卡一,国产精久久一区二区三区,亚洲精品无码国模,精品久久久久久无码专区不卡

當(dāng)前位置: 首頁 > news >正文

檢察院加強網(wǎng)站建設(shè)長沙優(yōu)化網(wǎng)站推廣

檢察院加強網(wǎng)站建設(shè),長沙優(yōu)化網(wǎng)站推廣,網(wǎng)站建設(shè)費是業(yè)務(wù)宣傳費嗎,公司網(wǎng)站忘了怎么做ProWindow是ArcGIS Pro SDK中的一個WPF控件,具有以下特點: 可擴展性:ProWindow提供了豐富的API和樣式,可以輕松地擴展和自定義ArcGIS Pro應(yīng)用程序的UI。 可定制性:ProWindow支持多種UI控件和布局方式,可以…

ProWindow是ArcGIS Pro SDK中的一個WPF控件,具有以下特點:

  1. 可擴展性:ProWindow提供了豐富的API和樣式,可以輕松地擴展和自定義ArcGIS Pro應(yīng)用程序的UI。

  2. 可定制性:ProWindow支持多種UI控件和布局方式,可以創(chuàng)建符合自己需求的UI。

  3. 易用性:ProWindow是一個標(biāo)準(zhǔn)的WPF控件,使用起來非常簡單。

總之,使用ProWindow可以輕松地為ArcGIS Pro應(yīng)用程序添加自定義的用戶界面元素,以增強應(yīng)用程序的功能和易用性。

下面以一個小例子演示ProWindow窗口,Label、Button、Combobox等WPF控件的簡單使用方法,同時復(fù)習(xí)一下圖層、字段基本操作等內(nèi)容。


一、要實現(xiàn)的功能

如上圖所示,創(chuàng)建一個ProWindow示例窗口,通過下拉框選擇要素圖層,或通過按鈕打開一個要素類,在第二個下拉框中列出該要素圖層的所有字段名,再通過點擊顯示字段值按鈕,在列表框中顯示該字段的所有字段值。


二、Pro Window窗口的創(chuàng)建和UI設(shè)計

1、Pro Window窗口

在解決方案中右鍵點添加——新建項,選擇:ArcGIS Pro ProWindow,如上圖所示。

創(chuàng)建后的新窗口如下,左上是主窗口,是設(shè)計的主體。中間是屬性欄,在這里可以手動編輯名稱、標(biāo)題、窗體大小、顯示文字等屬性。最右側(cè)是工具箱窗口,包含默認的所有WPF控件,可以左鍵直接拖動到主窗口界面,直接創(chuàng)建控件,很方便。

從工具箱直接拖動2個Label控件、2個Button控件、2個ComboBox控件和1個ListBox控件,擺好位置,如下圖:

擺控件的時候有一個技巧,就是鎖定距離,可以控制和窗口邊界或和其它控件的距離,這樣窗口被拉伸的時候,也能保持位置,不至于發(fā)現(xiàn)形變。

2、Label控件

Label控件很簡單,就是個標(biāo)簽,基本不會在它上面創(chuàng)建什么事件,只要注意標(biāo)簽文本內(nèi)容和字體就行了。

3、Button控件

Button控件主要功能一般就是配一個點擊事件,然后處理這個事件即可。如上面所示,在屬性欄的事件窗口下,有很多可用的事件,這里用到了Click事件,可以手動輸入事件名,再按下【Enter】鍵,就會在對應(yīng)的cs文件中添加一個對應(yīng)名的方法。當(dāng)然,你直接雙擊主窗口的控件,也會自動生成并命名事件。

4、ComboBox控件

ComboBox控件是一個下拉框列表,主要的2個屬性,【IsEditable】勾選后可以編輯,【Items】可以預(yù)先編輯好下拉框里的內(nèi)容。

它的主要事件是【DropDownOpened】,即點擊下拉框,展開列表時觸發(fā)的事件。

5、Listbox控件

Listbox是1個列表框,主要用來以列表的方式展示內(nèi)容。一般不涉及事件觸發(fā)。


三、功能實現(xiàn)流程

之前自動創(chuàng)建的事件代碼全部都在ProWindow1.xaml.cs中,通過事件名找到對應(yīng)的代碼塊。

1、通過下拉框選擇當(dāng)前地圖的要素圖層

            //清除combox當(dāng)前的列表內(nèi)容combox_feature.Items.Clear();// 獲取當(dāng)前地圖var map = MapView.Active.Map;// 獲取地圖中所有要素圖層var list_layers = map.GetLayersAsFlattenedList().OfType<FeatureLayer>();foreach (var layer in list_layers){//將要素圖層加入comboxcombox_feature.Items.Add(layer);}

通過點擊下拉框按鈕,將當(dāng)前地圖中所有的要素圖層加入到下拉框列表中,即可選擇你要的要素圖層。

2、通過打開對話框選擇要素類

            OpenItemDialog openDlg = new OpenItemDialog(){Title = "選擇一個要素",      //打開對話框標(biāo)題MultiSelect = false,          //是否可以多選Filter = ItemFilters.FeatureClasses_All,       //類型篩選};//打開對話框bool? ok = openDlg.ShowDialog();//如果沒有選擇內(nèi)容,則返回if (!ok.HasValue || openDlg.Items.Count() == 0)return;//如果有選擇內(nèi)容,返回選擇的內(nèi)容var item = openDlg.Items.First();//將選擇的內(nèi)容置入comboxcombox_feature.Text = item.Path;

這是簡單的打開對話框選擇要素類,之前的系列文章已經(jīng)寫過了。

3、點擊字段名列表combox_field控件時,列出所有字段名?

                        // 清空combox_fieldcombox_field.Items.Clear();await QueuedTask.Run(async () =>{// 獲取所選圖層的所有字段var fields = layer.GetFieldDescriptions();foreach (var field in fields){await QueuedTask.Run(() =>{// 在UI線程上執(zhí)行添加item的操作Application.Current.Dispatcher.Invoke(() =>{// 將所有字段名添加到combox_field中combox_field.Items.Add(field.Name);});});}});

當(dāng)事件觸發(fā)時,通過layer.GetFieldDescriptions()方法獲取所有字段,并添加到combox_field的Items里,這樣下拉列表里就會列出所有的字段。

4、點擊按鈕,在列表框中顯示所有字段值

                List<string> values = new List<string>();                // 打開要素圖層的表格var table = initLayer.GetTable();// 定位到屬性表的游標(biāo)using (var tableCursor = table.Search(null, false)){while (tableCursor.MoveNext()){// 獲取當(dāng)前記錄的值var row = tableCursor.Current;var currentValue = row[init_fieldname];// 將不重復(fù)的字段值加入listbox_fieldif (values.Contains(currentValue.ToString())){continue;}else{values.Add(currentValue.ToString());// 切換回 UI 線程上下文,將字段值添加到 ListBox 控件中Dispatcher.Invoke(() =>{listbox_field.Items.Add(currentValue.ToString());});}}}});

先創(chuàng)建一個空列表values,用來儲存字段值。

通過GetTable()方法獲取要素圖層的屬性表,再逐行搜索字段值,如果出現(xiàn)新的值,就存入values,并放到listbox_field的Items,即可顯示在列表框里了。

以上只列出幾個步驟的核心代碼,完整的可以看文章末尾放出的工程文件。我是ArcGIS Pro SDK和C#的初學(xué)者,代碼也僅僅是可運行,代碼質(zhì)量肯定是不好,特別是C#的多線程,差點沒把我搞暈,大伙湊和著看吧。


四、工程文件分享

?最后,放上工程文件的鏈接:

WPFProWindowhttps://pan.baidu.com/s/1zvyF03K008lBrspHhZ3lRw?pwd=kzuw

PS:可以直接點擊...bin\Debug\net6.0-windows\下的.esriAddinX文件直接安裝。

http://aloenet.com.cn/news/41789.html

相關(guān)文章:

  • 在線做heatmap的網(wǎng)站谷歌推廣怎么操作
  • 深夜免費軟件app下載seo營銷的概念
  • 一般網(wǎng)站用什么軟件做怎么注冊一個自己的網(wǎng)站
  • 軟件公司網(wǎng)站系統(tǒng)集成建設(shè)營銷推廣的特點
  • wordpress寄出郵箱地址小學(xué)生班級優(yōu)化大師
  • 外貿(mào)平臺免費網(wǎng)站網(wǎng)站優(yōu)化推廣平臺
  • 學(xué)做網(wǎng)站設(shè)計需要多少錢網(wǎng)頁制作教程步驟
  • 網(wǎng)站建設(shè)整個過程個人介紹網(wǎng)頁制作
  • 做外貿(mào)在哪個網(wǎng)站北京百度推廣電話號碼
  • 上海阿里巴巴做網(wǎng)站免費的短視頻app大全下載
  • 商業(yè)網(wǎng)站改版需要多久愛站網(wǎng)綜合查詢
  • 無錫工廠網(wǎng)站建設(shè)南寧百度關(guān)鍵詞推廣
  • 松江營銷型網(wǎng)站建設(shè)b站是哪個網(wǎng)站
  • ui設(shè)計做兼職的網(wǎng)站如何寫市場調(diào)研報告
  • 女裝網(wǎng)站建設(shè)規(guī)劃網(wǎng)站怎樣被百度收錄
  • 怎么做網(wǎng)站的后臺管理系統(tǒng)手機360優(yōu)化大師官網(wǎng)
  • 微網(wǎng)站后臺怎么注冊互聯(lián)網(wǎng)推廣平臺有哪些公司
  • 辦公室現(xiàn)代簡約裝修效果圖武漢seo服務(wù)
  • 金山石化網(wǎng)站建設(shè)襄陽seo優(yōu)化排名
  • 做網(wǎng)站建設(shè)的上市公司有哪些百度競價是seo還是sem
  • lamp網(wǎng)站開發(fā) pdf企業(yè)網(wǎng)站建設(shè)需求分析
  • 做便民工具網(wǎng)站怎么樣百度問答兼職怎么做
  • 網(wǎng)站怎么防采集如何推廣普通話
  • 長子營網(wǎng)站建設(shè)產(chǎn)品優(yōu)化是什么意思
  • 做3d模型的叫什么牛的網(wǎng)站磁力鏈搜索引擎入口
  • 黃色風(fēng)格網(wǎng)站模板商城小程序
  • 十堰網(wǎng)站建設(shè)兼職發(fā)軟文的平臺
  • 長沙的互聯(lián)網(wǎng)網(wǎng)站公司營銷培訓(xùn)方案
  • 門戶網(wǎng)站系統(tǒng)設(shè)計sem全稱
  • wordpress qq客服代碼seo有什么作用