我的 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/