Silverlight / WPF无法绑定ListBox

时间:2009-05-09 12:02:02

标签: c# wpf silverlight

我的silverlight用户控件中有一个列表框,我用一个私有类的通用列表填充它,由于某种原因它不是数据绑定。

以下是代码:

class userClient
{
    public int characterID { get; set; }
    public string characterName { get; set; }
}

List<userClient> userClientList; // = new List<userClient>();

void _client_UserList(object sender, DataTransferEventArgs e)
{
    this.Dispatcher.BeginInvoke(() =>
    {
        userClientList = new List<userClient>();
        foreach (string user in e.DataTransfer.Data)
        {
            var userDetailsArray = user.Split('+');
            userClient uc = new userClient
            {
                characterID = Convert.ToInt32(userDetailsArray[0]),
                characterName = userDetailsArray[1]
            };             
            userClientList.Add(uc);
        }

        chatUsers.ItemsSource = userClientList;
        chatUsers.DisplayMemberPath = "characterName";
    });
}

我检查了通用列表userClientList,它正在填满,所以没有问题。

这是列表框的XAML:

<ListBox x:Name="chatUsers" Grid.Row="0" Grid.Column="1" Margin="2 2 2 2" />   

2 个答案:

答案 0 :(得分:5)

您是否在Visual Studio的输出窗口中记录了任何绑定错误消息?

编辑:

注意到你的收藏是一个字段,而它应该是公共财产

public ObservableCollection<userClient> userClientList { get; set; }

答案 1 :(得分:0)

谢谢!谢谢Mokosh!错误 - System.Windows.Data错误:39:BindingExpression路径错误 - 通过两本WPF书籍让我发疯,却没有找到你强调的答案 - 我没有在班级成员上创建属性。