Sudoku-Gitter

engelmarkus

Erfahrenes Mitglied
Hallo zusammen!
Ich möchte mit WPF ein Sudoku-Spielfeld erzeugen, bei dem sich beim Drüberbewegen des Mauszeigers sich die aktuelle Zeile, die aktuelle Spalte, und der aktuelle 3x3er-Block einfärbt. Mein Problem ist dabei im Moment, dass ich nicht weiß, wie ich das am Geschicktesten anstellen soll? Es sollte doch mit XAML eigentlich eine schöne Lösung dafür geben? Könnt ihr mir ein paar Tipps / Denkanstöße geben?

So hätte ichs gerne: http://sourceforge.net/project/screenshots.php?group_id=147876&ssid=19111
 
Danke, die Seite kenn ich schon :)
Bei einem einzelnen Feld ist da mit dem Aufleuchten bei MouseEnter ja kein Problem. Aber wie mache ich das, dass immer die ganze Zeile und Spalte aufleuchten? Ist das mit XAML möglich, oder muss man das im code-behind machen? Irgendwie müsste man dazu doch mehrere Rectangles übereinander legen. Und dann würde ja immer nur das oberste das MouseEnter registrieren, und die, die von diesem verdeckt werden, nicht. :confused:
 
Dass das nur das oberste Element mitbekommt ist nicht ganz richtig. Siehe HitTest. Aber unabhängig dessen:

Du könntest dir ein eigenes Panel implementieren, welches Elemente entsprechende ablegt und auch Klicks abfängt und entsprechend die Elemente einfärbt. Das sollte nicht die Tragik sein.
 
Ich habe mir jetzt nicht besonders viel dazu überlegt, sondern eher mal so einen 5 Minuten Entwurf, aber sieh dir mal den Anhang an. Der sollte dir weiterhelfen (wobei der Algorithmus *gg* sicher stark verbessert werden kann).
 

Anhänge

  • DotNetGui.SudokuPanelDemo.zip
    14,1 KB · Aufrufe: 101
Danke, das mit diesem HitTest hab ich noch gar nicht gewusst. ^^ Damit gehts einwandfrei. Ich hab jetzt einfach für jede Zeile, jede Spalte und jeden kleinen Block ein Rectangle reingelegt und wende bei MouseEnter eine DoubleAnimation auf die Opacity an.
Diese Animationen sind aber scheinbar sehr CPU-Lastig. Werden die nicht von der Grafikkarte berechnet?
 
Zurück