1

Тема: C# ListBox vs objects

Чи можна в ListBox помістити обєкт так що б виводило тільки поле Word але при копіюваннні виділеного елементу копіювався весь обєкт?




public class Words
    {
        public int ID { get; set; }
        public string Word { get; set; }
       
    }
List<Words> list= new List<Words>();
list.add( new Words{1,"word1"});
list.add( new Words{2,"word2"});
list.add( new Words{3,"word3"});
list.add( new Words{4,"word4"});

2

Re: C# ListBox vs objects

Ну, оскільки ListBox.Items - це Object-и, гадаю, достатньо додати метод ToString до вашого класу. Принаймні, це було б логічно.

3

Re: C# ListBox vs objects

koala написав:

Ну, оскільки ListBox.Items - це Object-и, гадаю, достатньо додати метод ToString до вашого класу. Принаймні, це було б логічно.

не додати, а перецегокати ж, адже у кожного об'єкту є метод ToString(), чи нє?

Подякували: koala1

4 Востаннє редагувалося spamua (31.05.2014 10:15:43)

Re: C# ListBox vs objects

koala написав:

Ну, оскільки ListBox.Items - це Object-и, гадаю, достатньо додати метод ToString до вашого класу. Принаймні, це було б логічно.

або я вас не так зрозумів або ви мене)
ну чисто раді цікавості спробував написати

MyListBox.ItemsSource = list.ToString();//виводом є "System Collection Words" 


одним слово маячня )
Мені потрібен такий вивід

List<string> word = new List<string>();
foreach(string w in list)
word.Add(w.Word);
MyListBox.ItemsSource= word; 

Проблема в тому що далі я робота вже іде робота не з обєктами класу Word а з string значеннями, а отже ID яке мені потрібно губиться...( Я хочу не можливого чи все ж таки можна якось не "губити " ID?

5 Востаннє редагувалося koala (01.06.2014 13:32:39)

Re: C# ListBox vs objects

Я мав на увазі (а пан FakiNyan слушно уточнив), що треба перевизначити Words.ToString() так, щоб той повертав Word.

Подякували: FakiNyan, spamua2

6

Re: C# ListBox vs objects

koala написав:

Я мав на увазі (а пан FakiNyan служно уточнив), що треба перевизначити Words.ToString() так, щоб той повертав Word.

Спробував...все чудово працює тільки от....мені не завжди потрібно що б ToString() повертав тільки Words, в деяких ситуаціях потрібно повертати і ID  і також  ID+" " +Word!   Як вирішити це питання?

7

Re: C# ListBox vs objects

spamua написав:
koala написав:

Я мав на увазі (а пан FakiNyan служно уточнив), що треба перевизначити Words.ToString() так, щоб той повертав Word.

Спробував...все чудово працює тільки от....мені не завжди потрібно що б ToString() повертав тільки Words, в деяких ситуаціях потрібно повертати і ID  і також  ID+" " +Word!   Як вирішити це питання?

Ви хочете отримати з ToString() одночасно Word, ID та ID+" "+Word? Ви щось робите неправильно. Треба отримати ID — прописуєте getID(), так само з Word. А в ToString() виводите всю потрібну інформацію, наприклад return ID+ " " + Word;

Подякували: koala1