如何声明在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中声明的静态属性/名称?或者我有没有办法处理这个错误?
谢谢你的帮助!!!
在静态函数中不能使用实例级对象
请在此处阅读有关静态的信息
为什么AttachBoardControl
被声明为static
?
这会导致错误,因为您需要一个对象来访问stackPanelAssetsControl
。
因此,要么移除static
,要么您需要:
public static void AttachBoardControl()
{
pageInstance.stackPanelAssetsControl.Children.Clear();
pageInstance.stackPanelAssetsControl.Children.Add(SilverlightForum.App.forumBoardControl);
}