Windows Phone에서 내 응용 프로그램에 TextBox가 3 개 있습니다. 사용자가 입력을 입력 한 직후에이 세 TextBox의 숫자 값을 변경하고 싶습니다. 나는이 텍스트 상자에 대한 새 값을 할당 할 때이벤트 TextChanged 여러 번 발생
private void cambio(object sender, TextChangedEventArgs e)
{
TextBox modificado = sender as TextBox;
if (modificado.Name == "t_horizontal")
{
this.ancho = Double.Parse(modificado.Text);
this.diagonal = getDiagonal(this.ancho, this.alto);
}
else if (modificado.Name == "t_vertical")
{
this.alto = Double.Parse(modificado.Text);
this.diagonal = getDiagonal(this.ancho,this.alto);
}
else if (modificado.Name == "t_diagonal")
{
this.diagonal = Double.Parse(modificado.Text);
this.ancho = getAncho(diagonal);
this.alto = getAlto(diagonal);
}
t_vertical.Text = this.alto+"";
t_horizontal.Text = this.ancho+"";
t_diagonal.Text = this.diagonal+"";
}
는 것 같아요, 이벤트가 다시 발사된다 :
<TextBox x:Name="t_horizontal" InputScope="Number" TextChanged="cambio"/>
<TextBox x:Name="t_vertical" InputScope="Number" TextChanged="cambio" />
<TextBox x:Name="t_diagonal" InputScope="Number" TextChanged="cambio"/>
및 C#에서 내 코드는 다음과 같습니다
내 XAML은 다음과 같습니다 내 코드가 무한 루프에 들어간다. 내가 뭘 잘못하고 있니? 이 문제를 어떻게 해결할 수 있습니까?
올바른 [ViewModel] (http://stackoverflow.com/a/14382137/643085)을 만들고 적절한 [DataBinding] (http://msdn.microsoft.com/en-us/)을 사용하는 것이 좋습니다. library/ms752347 (v = vs.110) .aspx)과 같은 끔찍한 괴물이 있습니다. –
고마워, @ HighCore, 나는 그렇게하려고 노력할 것이다. 그러나 wpf와 ViewModel을 처음 접했을 때, 나는 그 새로운 모델에 대한 나의 문제에 대한 어떤 해결책을 제안 하겠는가? – Monica