0

我得到这个错误,

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 中声明的静态属性/名称?或者有什么办法可以解决这个错误?

谢谢大家的帮助!!!

4

2 回答 2

0

您不能在静态函数中使用实例级对象

在此处阅读有关静态的信息

于 2011-05-31T19:21:59.053 回答
0

为什么AttachBoardControl声明为static

这会导致错误,因为您需要一个对象来访问stackPanelAssetsControl.

所以要么删除static要么你需要:

public static void AttachBoardControl()
{
    pageInstance.stackPanelAssetsControl.Children.Clear();
    pageInstance.stackPanelAssetsControl.Children.Add(SilverlightForum.App.forumBoardControl);
}
于 2011-05-31T19:24:19.827 回答