views:

489

answers:

1

Hello,

As I stated in title to this question - I have an WPF Grid based layout with two header rows and few empty ones. Grid has about 100 columns.

I am trying to achieve the situation, in which I will be able to highlight the cell of empty row, when mouse is over it (and fire an event, when user will click this cell).

I sketched my concept:

sketch

When the cursor is over the cell in the second row and third column, I would like to change the border of this cell and knowing the row and column number - change to borders of few other cells.

Thanks for any help.

+1  A: 

What you'd usually do in such situation is to add a dummy UIElement,e.g. a Border, Rectangle (or a ContentControl that later could hold your actual content) that fills the cell completely and then on MouseMove query Grid.GetColumn Grid.GetRow on the hit UIElement. You can then loop through all children of your grid and change the borders where needed.

But if I look at your sample picture it seems that you want display a helper lines hinting row and column of your current cell. This can be easily done using Adorners. It is basically an additional layer on top of everything where you can place additional visuals that are bound to size and position of the coneceted control. You woould create an Adorner for the current cell (Border, ContentControl)

bitbonk