Mike: I am trying to do this as well (get elevation values from a DTED1 surface) and have the following code (which is pretty similar to what you show above. (In this code dted1Files is an enumeration of DTED1 tiles and args.Location is a MapPoint - obtained via mouse click on a 2D map, not a scene.)
RasterElevationSource dted1ElevSource = new RasterElevationSource(dted1Files);
await dted1ElevSource.LoadAsync();
dted1ElevSource.Name = "DTED1";
Surface elevSurface = new Surface();
elevSurface.ElevationSources.Add(dted1ElevSource);
elevSurface.Name = "DTED1 Surface";
await elevSurface.LoadAsync();
Scene dtedScene = new Scene();
dtedScene.BaseSurface = elevSurface;
await dtedScene.LoadAsync();
double anElevation = await elevSurface.GetElevationAsync(args.Location);
However, I get a null exception error on the last line (elevSurface.GetElevationAsync). The message on the error states that 'Elevation must be in a scene view before getting elevation'.Any thoughts on what I'm missing? Any insights are much appreciated. Thanks!
Mark