title: Create shadow in WPF without using effect
body: <p>the problem is following: we have an application that shows live image within a control called Display. There can be (potentially interactive) layers on top of the live image within the Display control (<code>Display</code> control is basically a Grid with <code>LiveImageLayer</code> at the bottom). Most available layers consist of line graphics to not obsure the image. Some layers are composed of standard WPF controls like buttons or sliders (with altered template so they're rendered using line graphics). Some layers are even drawn directly using DrawingContext. </p>
  
  <p>To improve visibility and readability of the layer graphics on top of live noisy image, we tried to assing <code>DropShadow</code> effect to the layers. This worked very well from visual point-of-view. However, it was very bad from performance point-of-view. Due to fast update of ImageLayer (up to 60Hz), <code>DropShadow</code> effects got recalculated for all layers with the image update frequency (even if layers themselves do not change). </p>
  
  <p>We can implement old-fashioned shadow (same graphics with black pen-and-brush below, shifted to the lower right) manually for each layer. And we'll actually do it if there's no better way.</p>
  
  <p>So, my question is: is there any automatic or semi-automatic way to achieve such shadow? I thought of creating shifted rectangle below the actual layer, which brush set to visual brush of the actual layer. However, I found no way (other than Effect) to re-color the visual brush to black. </p>
  
  <p>Any ideas?</p>