Je développe un jeu de 5 dés dans WPF. J'ai un contrôle d'utilisateur où j'ai fait la conception d'un dé. Puis sur ma fenêtre principale, j'ai ajouté 5 fois cette commande (donc ce sont mes dés).Récupère la valeur d'un dé dans un jeu en 5d'une autre fenêtre
J'ai une classe nommée ScoreCheck. Dans cette classe, j'écris le code pour obtenir la valeur du dé (1, 2, 3, 4, 5 ou 6).
Le problème est que je peux faire quelque chose comme ça dans mes dés UserControl:
int worp = rand.Next(1, 7);
switch (worp)
{
case 1:
dso1.Fill = new SolidColorBrush(steenkleur);
dso2.Fill = new SolidColorBrush(steenkleur);
dso3.Fill = new SolidColorBrush(steenkleur);
dso4.Fill = new SolidColorBrush(oogkleur);
dso5.Fill = new SolidColorBrush(steenkleur);
dso6.Fill = new SolidColorBrush(steenkleur);
dso7.Fill = new SolidColorBrush(steenkleur);
break;
case 2:
dso1.Fill = new SolidColorBrush(steenkleur);
dso2.Fill = new SolidColorBrush(steenkleur);
dso3.Fill = new SolidColorBrush(oogkleur);
dso4.Fill = new SolidColorBrush(steenkleur);
dso5.Fill = new SolidColorBrush(oogkleur);
dso6.Fill = new SolidColorBrush(steenkleur);
dso7.Fill = new SolidColorBrush(steenkleur);
break;
case 3:
dso1.Fill = new SolidColorBrush(steenkleur);
dso2.Fill = new SolidColorBrush(steenkleur);
dso3.Fill = new SolidColorBrush(oogkleur);
dso4.Fill = new SolidColorBrush(oogkleur);
dso5.Fill = new SolidColorBrush(oogkleur);
dso6.Fill = new SolidColorBrush(steenkleur);
dso7.Fill = new SolidColorBrush(steenkleur);
break;
case 4:
dso1.Fill = new SolidColorBrush(oogkleur);
dso2.Fill = new SolidColorBrush(steenkleur);
dso3.Fill = new SolidColorBrush(oogkleur);
dso4.Fill = new SolidColorBrush(steenkleur);
dso5.Fill = new SolidColorBrush(oogkleur);
dso6.Fill = new SolidColorBrush(steenkleur);
dso7.Fill = new SolidColorBrush(oogkleur);
break;
case 5:
dso1.Fill = new SolidColorBrush(oogkleur);
dso2.Fill = new SolidColorBrush(steenkleur);
dso3.Fill = new SolidColorBrush(oogkleur);
dso4.Fill = new SolidColorBrush(oogkleur);
dso5.Fill = new SolidColorBrush(oogkleur);
dso6.Fill = new SolidColorBrush(steenkleur);
dso7.Fill = new SolidColorBrush(oogkleur);
break;
case 6:
dso1.Fill = new SolidColorBrush(oogkleur);
dso2.Fill = new SolidColorBrush(oogkleur);
dso3.Fill = new SolidColorBrush(oogkleur);
dso4.Fill = new SolidColorBrush(steenkleur);
dso5.Fill = new SolidColorBrush(oogkleur);
dso6.Fill = new SolidColorBrush(oogkleur);
dso7.Fill = new SolidColorBrush(oogkleur);
break;
}
Console.WriteLine(worp);
Alors maintenant, j'obtenir la valeur de tous dices. Quelque chose comme ceci: 2 6 4 1 5 1.
Mais je ne veux pas cela. Je les veux dés par dés sur une autre fenêtre pour que je puisse vérifier le score. Donc, sur ma fenêtre principale, j'ai nommé mes dés: dice1, dice2, dice3, dice4 et dice5. Donc, je veux faire quelque chose comme ça dans mon ScoreCheck.
var mwaanspreken = Application.Current.Windows.OfType<MainWindow>().SingleOrDefault();
Console.WriteLine(mwaanspreken.steen1.worp);
Mais ma sortie est toujours 0.
ne Alors quelqu'un sait comment obtenir la valeur de mes dés d'une autre fenêtre?
Nope still null @Dark Templar –
Hmm qu'en est-il de l'utilisation des paramètres d'application? –
Comment voulez-vous dire les paramètres de l'application? @Dark Templar –