我如何声明在XAML中声明的静态属性/名称?或

问题描述

| 我得到这个错误
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);
}