打开单个文件
效果
代码
public async void OpenFunction()
{// 获取默认数据库var gdbPath = Project.Current.DefaultGeodatabasePath;OpenItemDialog openItemDialog = new OpenItemDialog() { Title ="打开要素文件",InitialLocation = gdbPath,Filter = ItemFilters.FeatureClasses_All,MultiSelect = false,};bool? ok = openItemDialog.ShowDialog();if (!ok.HasValue || openItemDialog.Items.Count() == 0){MessageBox.Show("打开文件失败");return;}else{Item item = openItemDialog.Items.First();ImputShpPath = item.Path;}
}
ImputShpPath为最终选择文件的路径
打开多个文件
代码
protected override void OnClick()
{// 获取默认数据库var gdbPath = Project.Current.DefaultGeodatabasePath;OpenItemDialog openTheMultiFolder = new OpenItemDialog();openTheMultiFolder.Title = "打开多个文件";openTheMultiFolder.InitialLocation = gdbPath;openTheMultiFolder.MultiSelect = true;openTheMultiFolder.Filter = ItemFilters.FeatureClasses_All;bool? ok = openTheMultiFolder.ShowDialog();if (ok == true){IEnumerable<Item> selectedItems = openTheMultiFolder.Items;foreach (Item selectedItem in selectedItems)MessageBox.Show(selectedItem.Path);}
}
参考文献
Items 属性 (OpenItemDialog)—ArcGIS Pro