首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >LongListSelector ItemSource NullReference误差

LongListSelector ItemSource NullReference误差
EN

Stack Overflow用户
提问于 2014-05-03 03:23:42
回答 2查看 51关注 0票数 0

我正在为我的Windows应用程序创建一个长列表选择器

所以我有一堂球员课

Player.cs

代码语言:javascript
复制
public class Player
{
    public string FirstName
    {
    get;
    set;
    }
    public string LastName;
    public int Age;
    public int Rank;
    public string RankDescreption;
}

在这里,XAML

<phone:LongListSelector Name="playersList" HorizontalAlignment="Left" VerticalAlignment="Top" LayoutMode="List" IsGroupingEnabled="False" Width="446" Margin="24,224,0,-10" Height="639"> <phone:LongListSelector.ItemTemplate> <DataTemplate> <StackPanel> <TextBlock Text="{Binding FirstName}" /> </StackPanel> </DataTemplate> </phone:LongListSelector.ItemTemplate> </phone:LongListSelector>

在页面的构造函数中:

代码语言:javascript
复制
   public SelectProfile()
        {
            ObservableCollection<Player> players = new ObservableCollection<Player>();
            players.Add(new Player { FirstName = "Waseem" });
            players.Add(new Player { FirstName = "Waseem2" });
            players.Add(new Player { FirstName = "Waseem3" });
            players.ItemsSource = players; // assigning data
            InitializeComponent();
        }

在调试应用程序时,我将集合的数据分配给LongListSelector的Item Source,它与NullReferenceException一起在players.ItemsSource = players;崩溃

我做错什么了?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-05-03 03:28:38

在ItemsSource之后分配InitializeComponent

代码语言:javascript
复制
 public SelectProfile()
        {

            InitializeComponent();

            ObservableCollection<Player> players = new ObservableCollection<Player>();
            players.Add(new Player { FirstName = "Waseem" });
            players.Add(new Player { FirstName = "Waseem2" });
            players.Add(new Player { FirstName = "Waseem3" });
            players.ItemsSource = players; // assigning data
        }
票数 3
EN

Stack Overflow用户

发布于 2014-05-03 05:21:22

对错误的解释要多一点。

获得空引用错误的原因是在加载xaml之前分配长列表选择器的项源。

在构造函数的运行时,第一步应该初始化component.this方法,加载xaml页面中的所有xaml组件。一旦xaml成功加载(执行了initalize组件),您就可以在xaml.cs页面中引用这些控件。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23439860

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档