WPF에서 5 개의 주사위 게임을 개발 중입니다. 나는 내가 주사위의 디자인을 만들었던 usercontrol을 가지고있다. 그런 다음 내 mainWindow에서이 usercontrol을 5 번 추가했습니다 (이것이 내 오지입니다).5dice 게임의 주사위 값을 다른 창에서 가져 오기
나는 ScoreCheck라는 클래스가 있습니다. 이 클래스에서는 주사위 값 (1, 2, 3, 4, 5 또는 6)을 얻기위한 코드를 작성합니다. 그래서
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);
을 지금은 모두 오지의 가치를 얻을 :
문제는 내가 내 UserControl을 주사위에서 같은 것을 할 수 있다는 것입니다. 2 6 4 1 5 1.
하지만 저는 이것을 원하지 않습니다. 다른 창에서 주사위로 주사위를 치고 점수를 확인할 수있게 해주세요. 그래서 내 메인 윈도우에서 나는 dice1, dice2, dice3, dice4, dice5라고 불렀다. 그래서 ScoreCheck에서 이와 같은 작업을하고 싶습니다.
var mwaanspreken = Application.Current.Windows.OfType<MainWindow>().SingleOrDefault();
Console.WriteLine(mwaanspreken.steen1.worp);
하지만 내 출력은 0
그래서 사람이 다른 창에서 내 주사위의 값을 얻는 방법을 알고 있나요 항상?
Console.WriteLine(mwaanspreken.steen1.worp);
var mwaanspreken = ((MainWindow)Application.Current.MainWindow);
여전히 Null @Dark Templar –
어플 리케이션 설정을 사용하면 어떨까요? –
응용 프로그램 설정을 어떻게 의미합니까? @ 다크 템플러 –