c# - Silverlight/WPF无法绑定(bind)ListBox

标签 c# wpf silverlight

我的 silverlight 用户控件中有一个列表框,我正在用私有(private)类的通用列表填充它,由于某种原因它没有被数据绑定(bind)。

这是代码:

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" />   

最佳答案

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

编辑:

刚刚注意到您的收藏是一个字段,而它应该是公共(public)属性(property)

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

关于c# - Silverlight/WPF无法绑定(bind)ListBox,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/843179/

相关文章:

c# - 如何在组合框中添加 2 列?

C#/.NET 应用程序无法识别环境变量更改 (PATH)

c# - AddDbContext 在 ASP.NET Core Razor 页面的配置服务中不起作用

wpf - 如何使用正确的 Windows 系统颜色?

silverlight - 动画页边距底部 Silverlight

使用参数和可选值的 C# 方法重载

c# - 如何在超出元素行限制后使用自动滚动在 XAML 中创建 UniformGrid

wpf - 如何使用枚举器控制 XAML 中的角色/权限

silverlight - Silverlight 中围绕 View 逻辑的 MVVM 最佳实践

silverlight - 如何消除Silverlight单元测试框架的5秒延迟