问题描述
|
我得到这个错误,
Error 1 An object reference is required for the non-static field,method,or property \'SilverlightForum.MainPage.stackPanelAssetsControl\' C:\\Users\\UserName\\Documents\\Visual Studio 2010\\Projects\\SilverlightForum\\SilverlightForum\\MainPage.xaml.cs 23 13 SilverlightForum
当使用这个XAML
<StackPanel x:Name=\"stackPanelAssetsControl\" Orientation=\"Vertical\" Grid.Row=\"3\" Grid.ColumnSpan=\"2\">
</StackPanel>
以及MainPage.xaml.cs中的以下代码(后面的代码)
public static void AttachBoardControl()
{
stackPanelAssetsControl.Children.Clear();
stackPanelAssetsControl.Children.Add(SilverlightForum.App.forumBoardControl);
}
有人可以帮我解决这个问题吗?我如何声明在XAML中声明的静态属性/名称?还是有解决方法,在哪里我可以处理此错误?
谢谢您的帮助!!!
解决方法
您不能在静态函数中使用实例级别的对象
在这里阅读有关静态的信息
, 为什么将ѭ3声明为
static
?
由于需要一个对象来访问stackPanelAssetsControl
,因此会导致错误。
因此,删除ѭ4或您需要:
public static void AttachBoardControl()
{
pageInstance.stackPanelAssetsControl.Children.Clear();
pageInstance.stackPanelAssetsControl.Children.Add(SilverlightForum.App.forumBoardControl);
}