我如何声明在xaml中声明的静态属性/名称?要么

时间:2011-05-31 19:21:05

标签: c# silverlight xaml static non-static

我收到此错误,

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中声明的静态属性/名称?或者是否有可以处理此错误的工作?

感谢您的帮助!!!

2 个答案:

答案 0 :(得分:0)

您无法在静态函数中使用实例级对象

请在此处阅读static

答案 1 :(得分:0)

为什么AttachBoardControl声明为static

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

因此,请删除static或者您需要:

public static void AttachBoardControl()
{
    pageInstance.stackPanelAssetsControl.Children.Clear();
    pageInstance.stackPanelAssetsControl.Children.Add(SilverlightForum.App.forumBoardControl);
}