kinect 센서의 색상과 깊이 스트림을 표시하는 프로그램을 작성했습니다. 심도 이미지에서는 사용자가 두 점을 선택할 수 있으며 프로그램은 점의 좌표를 표시합니다. 이제 프로그램을 개선하고 싶습니다. 그래서 Disatance.xaml이라는 새 창이 추가되었습니다. 사용자가 선택란을 체크하면이 창이 열립니다. 이 창에서 MainWindow가 아닌 좌표를 보여주고 싶습니다. 그래서 x 좌표와 y 좌표의 정수 변수를 전달해야합니다. 내 문제는 이제 C#을 처음 접했을 뿐이고 한 창에서 다른 창으로 정수를 전달하는 방법을 모르겠다. 나는 정말로 누군가가 나를 도울 수있는 방법. 주 코드는 주 창에서 실행됩니다. 버튼을 클릭하여 두 번째 창을 엽니 다. 내 코드는 다음과 같습니다WPF 새 창에서 변수 표시
private void CmdDistance_Click(object senderr, RoutedEventArgs e)
{
Distance distance = new Distance();
distance.Show();
}
좌표 무효 Mouse_ClickTest 현재 calculatet하고 내 기능에 의해 표시 :
private void Mouse_ClickTest(object sender, System.Windows.Input.MouseEventArgs e)
{
if (ChkDistance.IsChecked == true)
{
System.Windows.Point myMousePosition = e.GetPosition(DepthImage);
double xpixel = myMousePosition.X;
double ypixel = myMousePosition.Y;
int xpos = (int)xpixel;
int ypos = (int)ypixel;
if ((xpos > 0 || ypos > 0) && (xpos <= 640 || ypos <= 480))
{
int depthWidth = mySensor.DepthStream.FrameWidth;
int depthIndex = xpos + (ypos * depthWidth);
if (depthIndex < 307840)
{
SkeletonPoint mySkeletonArray = this.mySkeletonArray[depthIndex];
float zpos = mySkeletonArray.Z;
zpos = zpos * 1000;
int z = (int)zpos;
float xp = mySkeletonArray.X;
xp = xp * 1000;
int x = (int)xp;
float yp = mySkeletonArray.Y;
yp = yp * 1000;
int y = (int)yp;
if (e.LeftButton == MouseButtonState.Pressed)
{
if (i == false)
{
TxtCoordX.Text = string.Format("X: {0}", x);
TxtCoordY.Text = string.Format("Y: {0}", y);
TxtCoordZ.Text = string.Format("Z: {0}", z);
i = true;
}
else
{
TxtCoordX2.Text = string.Format("X: {0}", x);
TxtCoordY2.Text = string.Format("Y: {0}", y);
TxtCoordZ2.Text = string.Format("Z: {0}", z);
i = true;
}
}
}
else
{
return;
}
}
else
{
return;
}
}
}
가 지금은 윈도우의 거리에 변수 x, y 및 z 정수를 전달하려면
두 개의 창이 있습니까? 이 두 창은 어떻게 만듭니 까? 그 중 하나가 다른 대화 상자에서 열리는 대화입니까? 당신이 시도한 코드를 보여줄 수 있습니까? – Default