我使用切换开关的IsOn属性,当我尝试同时获取并设置开关的IsOn属性时,它只会崩溃system.stack溢出异常。 怎么解决这个?或者我可以用其他方法设置切换开关的状态吗? (在turnit方法之前,Switch1_Toggled通过人工交互发生)
public void turnit()
{
Switch1.IsOn = true;
}
public void Switch1_Toggled(object sender, RoutedEventArgs e)
{
if(Switch1.IsOn)
{
request = "11";
}
else
{
request = "10";
}
SendRequest();
//ReceiveResponse();
//statusupdater();
turnit();
}
答案 0 :(得分:3)
您遇到了无限循环。当您通过Switch1.IsOn = true;
切换切换时,它会触发您的处理程序方法Switch1_Toggled
,后者又会调用turnit()
,而后者又会... {/ p>
发生堆栈溢出,因为堆栈内存中没有足够的空间来存储无限深度的调用heirarchy。
删除对处理程序内turnit
的调用,你应该很好。