作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在编写我的第一个特定于设备的应用程序,它是一个 Windows Phone 7 全景应用程序。我目前仍在忙于 UI,因为我正在尝试这些功能,然后我偶然发现了一个我无法解决的问题。你看,我有两个用于某种登录表单的复选框。一个是“记住我”,另一个是“自动登录”复选框。我想要的操作是,当我取消选中“记住我”时,我希望取消选中并禁用“自动登录”复选框。我能够做到,但反过来总是会导致错误。我曾经编写过简单的 PHP Web 应用程序和 JavaScript,所以我有一些编程知识,但 C# 对我来说相当陌生。
private void RememberMe_Unchecked(object sender, RoutedEventArgs e)
{
AutoSignIn.IsChecked = false;
AutoSignIn.IsEnabled = false;
}
那个可以,但这个不行:
private void RememberMe_Checked(object sender, RoutedEventArgs e)
{
AutoSignIn.IsEnabled = true;
}
后者抛出“NullReferenceException 未处理”错误。
我的 XAML 代码如下所示:
<CheckBox Content="Remember me" Height="71" Name="RememberMe" Unchecked="RememberMe_Unchecked" Checked="RememberMe_Checked" IsEnabled="True" IsChecked="True" />
<CheckBox Content="Sign me in automatically" Height="71" Name="AutoSignIn" IsEnabled="True" IsChecked="True" />
我做了一些研究,我的方法似乎是错误的,但我不确定如何让它发挥作用。
最佳答案
如果没有 XAML,我无法 100% 确定,但请确保您没有以编程方式设置 IsChecked 属性。当您这样做时,在页面上正确初始化所有内容之前,将调用 IsChecked 方法一次。因此,虽然 Matt 发布的代码有效:
<CheckBox Name="AutoSignIn" />
<CheckBox Name="RememberMe" Checked="RememberMe_Checked" Unchecked="RememberMe_Unchecked" />
以下不会(因为它会在页面完成初始化之前尝试引用 AutoSignIn 框)
<CheckBox Name="AutoSignIn" />
<CheckBox Name="RememberMe" IsChecked="True" Checked="RememberMe_Checked" Unchecked="RememberMe_Unchecked" />
要解决此问题,您可以通过编程方式而不是在 XAML 中设置 IsChecked 属性,或者可能有其他人可以为您指出的其他方法。
关于c# - 以编程方式启用 Windows Phone 7 应用程序中禁用的复选框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3938710/
我是一名优秀的程序员,十分优秀!