ThinkGeo.com    |     Documentation    |     Premium Support

Esc Key implementation in wpf Map Suite 4.5 desktop

Hi Tsui,


  Do you know how to implement  the Esc key functionality in quiting a track session for a wpf mapsuite 4.5 desktop application?

Thanks a lot.


Frank


 


 



 Hi Franklin,


 


Sometimes the WpfMap control does not respond to key down events, which is because it does not have focus at that moment.


So if we want to handle the map control’s key down events, we need to make sure it has focus at first. We can accomplish this step like this:


wpfMap1.MapClick += new EventHandler<MapClickWpfMapEventArgs>(wpfMap1_MapClick);


private void wpfMap1_MapClick(object sender, MapClickWpfMapEventArgs e)


{


    if (!wpfMap1.IsFocused)


    {


        wpfMap1.Focus();


    }


}


The code snippet above makes sure that the map always has focus after it’s clicked.


 


Then we can handle the map control’s key events like this:


wpfMap1.KeyDown += new KeyEventHandler(wpfMap1_KeyDown);


private void wpfMap1_KeyDown(object sender, KeyEventArgs e)


{


    if (e.Key == Key.Escape)


    {


        wpfMap1.TrackOverlay.TrackMode = TrackMode.None;


        //do the customized things here


    }


}


 


Hope this will help.


 


Regards,


Tsui



Tsui, 
  
  Excellent, it works well. Thanks. 
  
 Regards, 
  
 Franklin

You are welcome. 
  
 Let us know if you bump into any other problems. 
  
 Regards, 
 Tsui