Re: [WPF] Hexagonal tiles
First thought: Create a hexagonal button, can be done easily in Expression Blend (30-day trail is free, you could alse download the free Phone 7 tools that include a version of Expression Blend). Put a bunch of those in a wrappanel. I don't know if the warppanel works 100% for these buttons
Re: [WPF] Hexagonal tiles
The hexagonal shape is not a problem, I can create that with a Path element, or even simply an Image on a transparent (square) control. The problem is the layout of the hexagonal tiles.
I actually got it to work by simply positioning the tiles absolutely on a Canvas. Every other row of tiles gets an offset equal to half its width. This works pretty well, but the problem is that it's not very flexible at all. I cannot resize the grid of hexagonal tiles, and if I want to change the size of the tiles now I have to change the (hardcoded) sizes and offsets. It would be much better if this all happened automatically, but I don't think there's any way to do that..
Re: [WPF] Hexagonal tiles
1) The "fitting it to window" can be done with a Viewbox control - so don't worry about that with regards laying out the hexagons - just lay them out as if you had as much space as you needed, and then place that inside a Viewbox. If you want to maintain aspect ratio then set the Viewbox stretch to Uniform, otherwise you'd want to set it to Fill.
2) The ListBox could be styled with a Canvas as its ItemsPanelTemplate. If each object underlying the hexagon knows its coordinates (in whatever system you choose to define them as) then you could write a value converter that will go from hex coordinates to offset within the canvas. This gets wired up in the ItemTemplate of the ListBox. This is one approach off the top of my head, there might be others that make more sense depending on what you're actually doing and why you need the hexagons.