https://github.com/zonetecde/wpf-infinite-canvas
Un contrôle quadrillé infini et entièrement customisable où l'on peut naviguer et placer des cases ou d'autres contrôles amovibles
https://github.com/zonetecde/wpf-infinite-canvas
board cells control game grid infinit wpf
Last synced: 8 months ago
JSON representation
Un contrôle quadrillé infini et entièrement customisable où l'on peut naviguer et placer des cases ou d'autres contrôles amovibles
- Host: GitHub
- URL: https://github.com/zonetecde/wpf-infinite-canvas
- Owner: zonetecde
- Created: 2022-10-25T11:02:13.000Z (almost 3 years ago)
- Default Branch: master
- Last Pushed: 2023-07-14T22:38:03.000Z (about 2 years ago)
- Last Synced: 2025-01-03T09:12:43.786Z (9 months ago)
- Topics: board, cells, control, game, grid, infinit, wpf
- Language: C#
- Homepage:
- Size: 97.7 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Wpf Infinite Canvas
Un contrôle quadrillé infini et entièrement customisable où l'on peut naviguer et placer des cases ou d'autres contrôles amovibles
[](https://www.nuget.org/packages/WpfInfiniteBoard)
## Implémentation :
Dans le code WPF de votre fenêtre :
```html
xmlns:InfiniteBoard="clr-namespace:WpfInfiniteBoard;assembly=WpfInfiniteBoard"
d:Width="1920" d:Height="1080"
```
### Quelques propiétés et évènement à connaitre :
| Propriété | Explication |
|--|--|
|AllowUserToMoveAround | L'utilisateur peut-il naviguer dans le contrôle ? (clique sur la molette de la souris) |
|AllowUserToZoom | L'utilisateur peut-il zoomer dans le contrôle ?
|AllowUserToPlaceCells |L'utilisateur peut-il placé des cases avec un clique gauche et en supprimer avec un clique droit ?
|CellSize |Taille des cases
|ShowQuartering|Afficher le quadrillage ?
|BorderThickness|Épaisseur du quadrillage 
|Foregroud | Couleur du quadrillage
|Background|Couleur du contrôle
|PlacedCellBorderBrush|Couleur de la bordure des cases ajoutées
|PlacedCellBackground|Couleur des cases ajoutées 
|PlacedCellHaveBorder|Est-ce que les cases ajoutées ont une bordure ?
|CellAdded *(sender, e)*|Évènement se délanchant lorsqu'une case est ajouté, *e* étant la nouvelle case (de type Rectangle)## Quelques méthode à connaitre :
### Pour les cases :
| Méthode| Explication |
|--|--|
|InfiniteBoard.PlaceCell(int xFromOrigin, int yFromOrigin)| Place une cellule aux coordonnées par apport à la case du centre du contrôle de la partie affiché lorsque le contrôle est initialisé. |
|InfiniteBoard.EraseCell(int xFromOrigin, int yFromOrigin)|Enlève une cellule aux coordonnées par apport à la case du centre du contrôle de la partie affiché lorsque le contrôle est initialisé.
|DoesAnyCellsExistHere(int xFromOrigin, int yFromOrigin) *return bool* | Est-ce que une case est placée à ces coordonnées ?
|GetAllColouredCell()|Retourne un dictionnaire de toutes les cases placés### Pour les contrôles :
| Méthode| Explication |
|--|--|
|PlaceControl(positionFromOrigin) |Ajoute un contrôle aux coordonnées donné pouvant être bouger à l'intérieur de l'InfiniteBoard (réglable) |
|ChangeControlPosition(control, newPos)| Change les coordonnées du contrôle donné en de nouvelle
|GetControlPosition(control)|Retourne les coordonnées du contrôle donné
|EraseControlFromCoordinate(pos)| Efface le contrôle aux cordonnées X et Y données
|EraseControl(control)| Supprime le contrôle passé en paramètre
|GetAllControl()| Retourne une liste de tous les contrôles placés avec leur position### Divers
| Méthode| Explication |
|--|--|
| ClearBoard() |Enlève les éléments placés dans le contrôle |
|ChangeBackgroundAndBorderColor(Brush background, Brush foreground)|Change la couleur de fond et du quadrillage du contrôle