title: WPF "hex grid" component
body: <p>Jumping into the world of WPF custom controls, and was wondering what the best way to design a HexGrid control would be?  Think your favorite table-top war game; or, equally likely, your favorite video game that steals the design from a proud history of table-top war games.</p>
  
  <p>The underlying model exposes one significant method, as a part of a Map class:  </p>
  
  <pre><code>Hex GetHex(int x, int y, int z)*;
  </code></pre>
  
  <p>Hex contains all relevant data (at the moment, a Terrain enumeration that maps 1:1 to a background color; starting small...).</p>
  
  <p>Possibly relevant constrains:<br>
  Map doesn't change in size &amp; Hex data changes at very predictable times (always in direct response to user action).</p>
  
  <p>Ideally the component will expand to fill its container cleanly, and be declarable directly in XAML.</p>
  
  <p>What I'm looking for is a sketchy outline of what I need to do to build this, not a ready made component.</p>
  
  <p>*I though I was being pretty clever with this addressing scheme, but apparently I'm <a href="http://sc.tri-bit.com/Hex_Grids#Flattened_3D" rel="nofollow noreferrer">late to the party</a>.</p>