这是我的第一个C#代码所以我是一个小伙伴,请善待。我试图在单选按钮上单击显示一组文本块,但我一直收到此错误:
非静态字段,方法或属性'MathApp2.AppSettings.RadioButton3Setting.get
需要对象引用
MainPage是应用程序的第一页,其中包含我正在尝试打开和关闭的TextBlocks。我用Xaml创建它们不是在C#代码本身。 AppSettings是一个非常类似于此代码的类:http://msdn.microsoft.com/en-us/library/windowsphone/develop/ff769510(v=vs.105).aspx Question中的代码位于包含Radiobuttons的应用程序的第2页(设置页面)上。
我想我需要将MainPage和AppSettings的实例传递到第2页(设置页面)??
非常感谢任何帮助。
在此代码的所有已加星标的行中获取错误:
private void radioButton3_Checked(object sender, EventArgs e)
{
if (AppSettings.RadioButton3Setting == true) *
{
MainPage.TextBlock5.Visible = true; *
MainPage.TextBlock6.Visible = true; *
MainPage.TextBlock7.Visible = true; *
MainPage.TextBlock8.Visible = true; *
}
else
{
MainPage.TextBlock5.Visible = false; *
MainPage.TextBlock6.Visible = false; *
MainPage.TextBlock7.Visible = false; *
MainPage.TextBlock8.Visible = false; *
}
}
答案 0 :(得分:0)
从错误消息中可以看出,AppSettings
是您必须在某个时刻实例化的类,但现在您尝试访问属性,就好像它是静态的一样。
如果您创建AppSettings
的实例,请改用:
if (myInstanceOfAppSettings.RadioButton3Setting == true)
MainPage
也是如此。这些TextBlock
控件也只能在MainPage
的实例上访问,但您访问它们就好像它们是静态的一样。
假设TextBlock
控件与该点击事件位于同一窗口中,只需从每行的开头删除MainPage.
。
如果TextBlock
控件位于另一个窗口中,并且您已将其实例传递到您在问题中发布的任何窗口,请改用该实例:
someInstanceOfMainPage.TextBlock5.Visible = true;
someInstanceOfMainPage.TextBlock6.Visible = true;