Strange. Are you defining the unique value renderer and the custom selection symbol in your code? If you back up and set the layer's symbology and selection symbol in ArcMap (if available) for example and load the lyr or mxd in your engine application, do you get the same problem? Do you get the problem with the selection not drawing in ArcMap too. What if you use a simple symbol for the selection, do you get the same problem?
Have to do some hoop jumping to get ArcMap running again (license ran out) but yes I am defining selection symbol and unique (and numeric) renderer in code. Turned off selection symbol and got the Cyan lines which exhibited the same behavior. It just appears that when a renderer is active "geoFeatureLayer.Renderer = featureRenderer;" then the selection will not overwrite the rendered polygons.This is how I get my symbol for the renderer (when esriGeometryType.esriGeometryPolygon):
// symbol is current symbol,
// enumColor is just a predefined style gallery color ramp
symbol = GetFillSymbol( symbol as ISimpleFillSymbol, enumColors.Next(), 1 );
private ISymbol GetFillSymbol( ISimpleFillSymbol simpleFill, IColor nextColor, double size ) {
if ( simpleFill == null )
simpleFill = new SimpleFillSymbolClass();
ILineSymbol lineSymbol = new SimpleLineSymbolClass();
lineSymbol.Width = size;
simpleFill.Color = nextColor;
simpleFill.Outline = lineSymbol;
return simpleFill as ISymbol;
}
//And I add it to the renderer with:
uniqueValueRenderer.AddValue( currentBreak, ClassifyFieldName, symbol );
Can you actually create a renderer and select over it in ArcMap?