Je suis en train de faire une grille basée sur un UniformGrid pour montrer les coordonnées de chaque cellule, et je veux montrer les valeurs sur les axes X et Y comme ceci:grille uniforme lignes et des colonnes
_A_ _B_ _C_ _D_
1 |___|___|___|___|
2 |___|___|___|___|
3 |___|___|___|___|
4 |___|___|___|___|
Quoi qu'il en soit, pour cela, j'ai besoin de connaître le nombre de colonnes et de lignes dans la grille Uniforme, et j'ai essayé de contourner les 3 méthodes les plus basiques, mais les colonnes et les lignes sont 0, même bien que j'ai quelques contrôles dans ma grille. Quelle méthode puis-je remplacer afin que ma grille cartésienne sache combien de colonnes et de lignes elle a?
C#:
public class CartesianGrid : UniformGrid
{
protected override Size MeasureOverride(Size constraint)
{
Size size = base.MeasureOverride(constraint);
int computedColumns = this.Columns; // always 0
int computedRows = this.Rows; // always 0
return size;
}
protected override Size ArrangeOverride(Size arrangeSize)
{
Size size = base.ArrangeOverride(arrangeSize);
int computedColumns = this.Columns; // always 0
int computedRows = this.Rows; // always 0
return size;
}
protected override void OnRender(DrawingContext dc)
{`enter code here`
int computedColumns = this.Columns; // always 0
int computedRows = this.Rows; // always 0
base.OnRender(dc);
}
}
XAML:
<local:CartesianGrid>
<Label Content="Hello" />
<Label Content="Hello" />
<Label Content="Hello" />
<Label Content="Hello" />
<Label Content="Hello" />
<Label Content="Hello" />
</local:CartesianGrid>
Toute aide est grandement appréciée. Merci!
Wow votre solution est vraiment simple, seulement j'ai dû changer numRows pour utiliser Math.Ceiling aussi. Je suis venu avec une autre solution moi-même, mais j'aime beaucoup plus le tien (posté ma solution dans la question). Merci! – Carlo
Désolé, mais votre solution n'a pas fonctionné, bien que ce soit beaucoup plus simple. Dans notre cas, le nombre de colonnes et le nombre de lignes ne sont pas les mêmes. J'ai donc dû utiliser ma solution pour calculer le nombre réel de colonnes et de lignes, sans supposer que ces nombres sont les mêmes. Merci! – Carlo
En fait nvm, c'était plus facile depuis le début, dans notre projet les colonnes et les lignes sont définies spécifiquement par DependencyProperty, votre solution devrait fonctionner correctement lorsque les colonnes et les lignes ne sont pas définies, ce que je visais en premier. Merci! – Carlo