1
编辑:已解决。我睡了,布拉德利的评论帮了我很多忙!谢谢!在C#和XAML中将ToggleSwitch的状态存储到变量中
所以我有一系列ToggleSwitches。这里的怎么样了事情的设置:
<ToggleSwitch
x:Name="PrimaryToggle"
Header="Primary"
Toggled="PrimaryToggle_Toggled"/>
<ToggleSwitch
x:Name="SecondaryToggle"
Header="Secondary"
Toggled="SecondaryToggle_Toggled"/>
<ToggleSwitch x:Name="Child1Toggle" Header="Child 1" />
<ToggleSwitch x:Name="Child2Toggle" Header="Child 2" />
<ToggleSwitch x:Name="Child3Toggle" Header="Child 3" />
<ToggleSwitch x:Name="Child4Toggle" Header="Child 4" />
在后面的代码,我有事情设置是这样的:
// Parent Toggle (resets everything)
private void PrimaryToggle_Toggled(object sender, RoutedEventArgs e)
{
if (PrimaryToggle.IsOn == true)
{
Child1Toggle.IsOn = false;
Child2Toggle.IsOn = true;
Child3Toggle.IsOn = false;
Child4Toggle.IsOn = true;
}
else if (PrimaryToggle.IsOn == false)
{
this.allToggles(false);
}
}
/* This is where I need to store the current state of the child toggles
so when it turns off it will restore the saved state of them */
private void SecondaryToggle_Toggled(object sender, RoutedEventArgs e)
{
if (SecondaryToggle.IsOn == true)
{
/* Need to store current state of children toggles
In this section here: */
Child1Toggle.IsOn = true;
Child2Toggle.IsOn = true;
Child3Toggle.IsOn = false;
Child4Toggle.IsOn = false;
}
if (SecondaryToggle.IsOn == false && PrimaryToggle.IsOn == true)
{
/* Need to restore previous state of children
toggles in this section here: */
}
}
所以,问题是我很新的C#所以我想追查处理这个问题的最好方法。基于以前的研究,我得出结论,我可能需要使用INotifyPropertyChanged,然后在所有需要保存的切换上设置绑定,但我真的不知道从哪开始。我做了一些{get;组; }一段时间的东西,但有一段时间没有使用它,所以我几乎有一个brainfart。
有关从哪里开始的建议?
谢谢!
我不确定我是否完全理解你所要求的内容,但听起来你只需要为每个切换声明一个布尔变量来保存状态。您可以在类级别声明它,并将其设置为切换的'.IsOn'属性以保存它,然后将'IsOn'设置为该变量的值以重新加载它。 –
对不起,我应该更好的解释一下。基本上,一旦我切换PrimaryToggle,它会设置一些孩子切换到特定的值。在那之后,我可以捣乱孩子切换一些视觉选项。但是,然后我有次会话会再次改变所有的切换,但是我希望childrentoggles返回到它们在切换次密码之前的状态,如果次密码设置为IsOn == false; –
我对C#知识的缺乏表示抱歉::(我现在在学习,现在主要是在做XAML, –