protected override void OnPreRender( EventArgs e )
{
var nameEnabled = ( this.AllowedPickerModes & LocationPickerMode.Named ) == LocationPickerMode.Named;
var addressEnabled = ( this.AllowedPickerModes & LocationPickerMode.Address ) == LocationPickerMode.Address;
var pointEnabled = ( this.AllowedPickerModes & LocationPickerMode.Point ) == LocationPickerMode.Point;
var polygonEnabled = ( this.AllowedPickerModes & LocationPickerMode.Polygon ) == LocationPickerMode.Polygon;
int modesEnabled = 0;
var currentPickerMode = this.CurrentPickerMode;
_radNamed.Visible = nameEnabled;
_radNamed.Checked = currentPickerMode == LocationPickerMode.Named;
modesEnabled = nameEnabled ? modesEnabled + 1 : modesEnabled;
_radAddress.Visible = addressEnabled;
_radAddress.Checked = currentPickerMode == LocationPickerMode.Address;
modesEnabled = addressEnabled ? modesEnabled + 1 : modesEnabled;
_radPoint.Visible = pointEnabled;
_radPoint.Checked = currentPickerMode == LocationPickerMode.Point;
modesEnabled = pointEnabled ? modesEnabled + 1 : modesEnabled;
_radPolygon.Visible = polygonEnabled;
_radPolygon.Checked = currentPickerMode == LocationPickerMode.Polygon;
modesEnabled = polygonEnabled ? modesEnabled + 1 : modesEnabled;
_namedPicker.Visible = nameEnabled && currentPickerMode == LocationPickerMode.Named;
_addressPicker.Visible = addressEnabled && currentPickerMode == LocationPickerMode.Address;
_pointPicker.Visible = pointEnabled && currentPickerMode == LocationPickerMode.Point;
_polygonPicker.Visible = polygonEnabled && currentPickerMode == LocationPickerMode.Polygon;
_pnlModeSelection.Visible = modesEnabled > 1;
base.OnPreRender( e );
}