English 中文(简体)
WPF: Grid layout - how can I get row and column of element with MouseMove or similar events, when cursor is over empty cell?
原标题:

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.

问题回答

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)





相关问题
Anyone feel like passing it forward?

I m the only developer in my company, and am getting along well as an autodidact, but I know I m missing out on the education one gets from working with and having code reviewed by more senior devs. ...

NSArray s, Primitive types and Boxing Oh My!

I m pretty new to the Objective-C world and I have a long history with .net/C# so naturally I m inclined to use my C# wits. Now here s the question: I feel really inclined to create some type of ...

C# Marshal / Pinvoke CBitmap?

I cannot figure out how to marshal a C++ CBitmap to a C# Bitmap or Image class. My import looks like this: [DllImport(@"test.dll", CharSet = CharSet.Unicode)] public static extern IntPtr ...

How to Use Ghostscript DLL to convert PDF to PDF/A

How to user GhostScript DLL to convert PDF to PDF/A. I know I kind of have to call the exported function of gsdll32.dll whose name is gsapi_init_with_args, but how do i pass the right arguments? BTW, ...

Linqy no matchy

Maybe it s something I m doing wrong. I m just learning Linq because I m bored. And so far so good. I made a little program and it basically just outputs all matches (foreach) into a label control. ...

热门标签