Я работаю со списком, но мне не удается правильно обновить DisplayMember, и я не уверен, почему.C# Listbox DisplayMember не обновляется
У меня есть список подключенных джойстиков, которые я пытаюсь отобразить в списке.
joyListBox.DataSource = getSticks();
joyListBox.DisplayMember = "Properties.InstanceName";
Метод getSticks() выше возвращает допустимый список объектов джойстика. Я проверил, что Properties.InstanceName - это строка, показывающая дружественное имя джойстика. Программа работает без ошибок, но отображает значение по умолчанию (toString) для джойстика.
По желанию, я добавляю в getSticks (код):
частного Список getSticks() {
List<Joystick> sticks = new List<Joystick>();
foreach (DeviceInstance device in input.GetDevices(DeviceClass.GameControl, DeviceEnumerationFlags.AttachedOnly))
{
Joystick stick = new Joystick(input, device.InstanceGuid);
sticks.Add(stick);
}
return sticks;
}
Поделиться кодом 'getSticks()'. –
Если возможно, попробуйте добавить точку останова внутри цикла foreach, чтобы убедиться, что каждый джойстик имеет допустимое поле «Свойства.InstanceName» (например, не null). –
Из общих ссылок, таких как http://stackoverflow.com/a/303283/6741868, предлагается связать источник данных после displaymember, также указать значение valuemember. –