C# 当通过代码C打开XAML开关时,UWP应用程序会删除堆栈owerflow异常#

C# 当通过代码C打开XAML开关时,UWP应用程序会删除堆栈owerflow异常#,c#,xaml,exception,uwp,uwp-xaml,C#,Xaml,Exception,Uwp,Uwp Xaml,我使用toggle开关的IsOn属性,当我尝试获取和设置开关的IsOn属性时,它只会因system.stack overflow异常而崩溃。 如何解决这个问题?或者我可以用其他方法设置切换开关的状态吗? (在turnit方法之前,通过人机交互进行切换) 您正遇到一个无限循环。通过Switch1.IsOn=true切换开关时,它将触发处理程序方法Switch1\u Toggled,该方法依次调用turnit() 堆栈溢出是因为堆栈内存中没有足够的空间来存储无限深度的调用继承权 在处理程序中删除对t

我使用toggle开关的IsOn属性,当我尝试获取和设置开关的IsOn属性时,它只会因system.stack overflow异常而崩溃。 如何解决这个问题?或者我可以用其他方法设置切换开关的状态吗? (在turnit方法之前,通过人机交互进行切换)


您正遇到一个无限循环。通过
Switch1.IsOn=true切换开关时,它将触发处理程序方法
Switch1\u Toggled
,该方法依次调用
turnit()

堆栈溢出是因为堆栈内存中没有足够的空间来存储无限深度的调用继承权


在处理程序中删除对
turnit
的调用,您应该会很好。

您遇到了一个无限循环。通过
Switch1.IsOn=true切换开关时,它将触发处理程序方法
Switch1\u Toggled
,该方法依次调用
turnit()

堆栈溢出是因为堆栈内存中没有足够的空间来存储无限深度的调用继承权

在处理程序中删除对
turnit
的调用,您应该会很好。

!如果我用其他方法调用
turnit()
,它不会有错误吗?我认为切换事件只能通过用户交互发生。。。非常感谢你的快速回答!正确:在别处调用
turnit()
也可以。我只构建了几个UWP应用程序,但据我所知,绑定和事件处理程序一直工作得相当一致,即使是从后台代码调用(与某些情况下的WinForms应用程序相反)。很乐意帮忙!快乐编码!坦克!如果我用其他方法调用
turnit()
,它不会有错误吗?我认为切换事件只能通过用户交互发生。。。非常感谢你的快速回答!正确:在别处调用
turnit()
也可以。我只构建了几个UWP应用程序,但据我所知,绑定和事件处理程序一直工作得相当一致,即使是从后台代码调用(与某些情况下的WinForms应用程序相反)。很乐意帮忙!快乐编码!
    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();
    }