Looking at your screen shot, the gradient did apply. It is applied to the stroke around the image frame. (It looks like a placed graphic inside the frame, which would not be recolored within InDesign.
but how do I get the gradient to fill the object?
if the object is a placed and linked graphic of pixel type (TIFF, JPEG, PNG), open it with PhotoShop and apply the gradient there. If it is vector type, try to open it with Adobe Illustrator and apply the gradient there.
( ACP )
You can affect a raster image within InDesign with a gradient. You can do this by creating a graphic frame above the image (the frame can be drawn to silhouette the whole image or any part of it or it can be exactly the same dimensions as the frame containing the image) and then filling the frame with a gradient. With the gradient filled frame selected use the pull-down menu in the top left of the Effects Panel and pull it down to Multiply. The image will now be affected by the gradient as it shows through the gradient.
One more trick. If you Copy from Illustrator and then Paste into InDesign you'll be able to apply a gradient to the object. Otherwise, as has already been noted, once an object is placed into InDesign you can not edit its colors.