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

本文关键字:声明 静态 属性 名称 xaml 何声明 | 更新日期: 2023-09-27 17:58:01

我收到这个错误,

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中声明的静态属性/名称?或者我有没有办法处理这个错误?

谢谢你的帮助!!!

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

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

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

为什么AttachBoardControl被声明为static

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

因此,要么移除static,要么您需要:

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