-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathRasterSelectionList.xaml.cs
57 lines (46 loc) · 1.36 KB
/
RasterSelectionList.xaml.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
using ArcGIS.Desktop.Mapping;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Windows.Controls;
namespace TornadoSAR
{
/// <summary>
/// Interaction logic for RasterSelectionList.xaml
/// </summary>
public partial class RasterSelectionList : UserControl
{
private IEnumerable<RasterLayer> rLayers;
public RasterSelectionList()
{
InitializeComponent();
//get current map
var map = MapView.Active.Map;
//get all raster layers on map
rLayers = map.GetLayersAsFlattenedList().OfType<RasterLayer>();
foreach (var layer in rLayers)
{
listBox.Items.Add(layer.Name);
}
}
public List<RasterLayer> GetSelectedLayers()
{
List<RasterLayer> selectedRasters = new List<RasterLayer>();
foreach (string name in listBox.SelectedItems)
{
foreach (var raster in rLayers)
{
if (raster.Name.Equals(name))
{
selectedRasters.Add(raster);
}
}
}
return selectedRasters;
}
public bool IsEmpty()
{
return listBox.Items.Count == 0;
}
}
}