|
Поменять цвет шрифта у конкретного элемента listbox
|
|||
---|---|---|---|
#18+
Делаю в WPF. два форума молчат, хз что делать... вроде суть не сложна. может не так как-то спрашиваю? Необходимо поменять цвет шрифта у конкретного элемента listbox. пишу так: Код: c# 1.
но не работает. пишет что нет такого определения "Foreground" тогда как мне, зная индекс нужного элемента, "программно" изменить цвет его шрифта? xaml: Код: xml 1. 2. 3.
п.с. Добавляются item'ы программно, так: Код: c# 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
23.03.2012, 02:08 |
|
Поменять цвет шрифта у конкретного элемента listbox
|
|||
---|---|---|---|
#18+
Lincoln Dead, ItemsControl.ItemContainerStyleSelector Или <ListBoxItem Foreground="{Binding SomeProperty}" Content="qweqwe" /> ? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.03.2012, 06:38 |
|
Поменять цвет шрифта у конкретного элемента listbox
|
|||
---|---|---|---|
#18+
Lincoln Dead, (listbox.items[index] as FrameworkElemet).Foreground=Brushes.Green; что нить типа такого? ну или к какому нить другому типу привести, у которого есть Foreground. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.03.2012, 07:18 |
|
Поменять цвет шрифта у конкретного элемента listbox
|
|||
---|---|---|---|
#18+
Sky Dragon, У ListBoxItem есть Foreground, но это WinForms подход. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.03.2012, 07:28 |
|
Поменять цвет шрифта у конкретного элемента listbox
|
|||
---|---|---|---|
#18+
Lincoln DeadНеобходимо поменять цвет шрифта у конкретного элемента listbox. пишу так: Код: c# 1.
но не работает. пишет что нет такого определения "Foreground" Правильно и пишет. items[index] является object, у которого нет Foreground. Какие именно объекты содержатся в itemsArray? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.03.2012, 08:11 |
|
Поменять цвет шрифта у конкретного элемента listbox
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
23.03.2012, 10:11 |
|
Поменять цвет шрифта у конкретного элемента listbox
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
23.03.2012, 10:14 |
|
Поменять цвет шрифта у конкретного элемента listbox
|
|||
---|---|---|---|
#18+
спасибо за ответы всем! не ожидал так много. работает так: Код: c# 1. 2.
и так: Код: c# 1. 2.
но работает только в том случае когда итемы созданы вручную. А иначе, когда заношу их программно - нет. Т.е. вот так: Код: c# 1. 2. 3.
... |
|||
:
Нравится:
Не нравится:
|
|||
23.03.2012, 15:03 |
|
Поменять цвет шрифта у конкретного элемента listbox
|
|||
---|---|---|---|
#18+
Lincoln Dead, Код: c# 1.
ошибка в том, что items и itemssource это разные вещи. начав с itemssource ты и должен продолжать с ним работать. и для items соотвественно. они не пересекаются. поэтому бери свои listboxitem из itemssource уже. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.03.2012, 15:09 |
|
Поменять цвет шрифта у конкретного элемента listbox
|
|||
---|---|---|---|
#18+
AlexeiKLincoln Dead, Код: c# 1.
ошибка в том, что items и itemssource это разные вещи. начав с itemssource ты и должен продолжать с ним работать. и для items соотвественно. они не пересекаются. поэтому бери свои listboxitem из itemssource уже. я попробовал использовать вместо ItemsSource вот это: Код: c# 1.
та же картина ... |
|||
:
Нравится:
Не нравится:
|
|||
23.03.2012, 15:21 |
|
Поменять цвет шрифта у конкретного элемента listbox
|
|||
---|---|---|---|
#18+
Lincoln Dead, тогда объясни, где косяк. чето то ты ввел в заблуждение. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.03.2012, 15:26 |
|
Поменять цвет шрифта у конкретного элемента listbox
|
|||
---|---|---|---|
#18+
Lincoln Dead, и слова "вручную" и "программно" разные по смыслу? а то как то не понятно, одинаковые они или различаются по смыслу. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.03.2012, 15:33 |
|
Поменять цвет шрифта у конкретного элемента listbox
|
|||
---|---|---|---|
#18+
AlexeiKLincoln Dead, тогда объясни, где косяк. чето то ты ввел в заблуждение. я и сам озадачен. сейчас попробовал сделать так: ввёл вручную три итема: 123 234 345 затем программно вписал еще два итема: Код: c# 1. 2.
и делаю 345 зеленым: Код: c# 1. 2.
выходит вот что: а вот 456 и 567 зелеными сделать не получается ... |
|||
:
Нравится:
Не нравится:
|
|||
23.03.2012, 15:38 |
|
Поменять цвет шрифта у конкретного элемента listbox
|
|||
---|---|---|---|
#18+
Lincoln Dead, расскажи, что такое "ввел вручную" ? через дизайнер студии или что? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.03.2012, 15:42 |
|
Поменять цвет шрифта у конкретного элемента listbox
|
|||
---|---|---|---|
#18+
AlexeiKLincoln Dead, расскажи, что такое "ввел вручную" ? через дизайнер студии или что? да, программно - это кодом. а вручную это так: ... |
|||
:
Нравится:
Не нравится:
|
|||
23.03.2012, 15:44 |
|
Поменять цвет шрифта у конкретного элемента listbox
|
|||
---|---|---|---|
#18+
Lincoln Dead, а, как ты меняешь цветы у других элементов? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.03.2012, 15:46 |
|
Поменять цвет шрифта у конкретного элемента listbox
|
|||
---|---|---|---|
#18+
AlexeiKLincoln Dead, а, как ты меняешь цветы у других элементов? также. Код: c# 1. 2.
... |
|||
:
Нравится:
Не нравится:
|
|||
23.03.2012, 15:50 |
|
Поменять цвет шрифта у конкретного элемента listbox
|
|||
---|---|---|---|
#18+
Lincoln Dead, проект тестовый прикрепи к сообщению. скачаем проверим. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.03.2012, 16:12 |
|
Поменять цвет шрифта у конкретного элемента listbox
|
|||
---|---|---|---|
#18+
AlexeiK, okay, скоро выложу ... |
|||
:
Нравится:
Не нравится:
|
|||
23.03.2012, 16:19 |
|
Поменять цвет шрифта у конкретного элемента listbox
|
|||
---|---|---|---|
#18+
AlexeiK, лови ... |
|||
:
Нравится:
Не нравится:
|
|||
23.03.2012, 16:27 |
|
Поменять цвет шрифта у конкретного элемента listbox
|
|||
---|---|---|---|
#18+
Lincoln Deadно работает только в том случае когда итемы созданы вручную. А иначе, когда заношу их программно - нет. Т.е. вот так: Код: c# 1. 2. 3.
Все таки спрошу еще раз, какого типа объекты содержаться в itemsArray?! В выложенном Вами проекте в принципе ничего работать так как Вы хотите не сможет! Попробуйте вдуматься в две строки из проекта, который Вы выложили: Код: c# 1. 2.
Как компьютер из object сможет сделать ListBoxItem ?! Вот string сможет, потому что Вы добавляли в него string. Прочитайте про приведение типов. И выложите проект в котором используется itemsArray! ... |
|||
:
Нравится:
Не нравится:
|
|||
23.03.2012, 16:34 |
|
Поменять цвет шрифта у конкретного элемента listbox
|
|||
---|---|---|---|
#18+
Lincoln Dead, http://msdn.microsoft.com/ru-ru/library/ms173105.aspx http://msdn.microsoft.com/ru-ru/library/cc488006.aspx ... |
|||
:
Нравится:
Не нравится:
|
|||
23.03.2012, 16:37 |
|
Поменять цвет шрифта у конкретного элемента listbox
|
|||
---|---|---|---|
#18+
Lincoln Dead, Код: c# 1. 2. 3. 4. 5. 6.
вот это добавь на событие loaded у окна. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.03.2012, 16:41 |
|
Поменять цвет шрифта у конкретного элемента listbox
|
|||
---|---|---|---|
#18+
LexxxxxВсе таки спрошу еще раз, какого типа объекты содержаться в itemsArray?! там тоже string Код: c# 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
23.03.2012, 17:00 |
|
Поменять цвет шрифта у конкретного элемента listbox
|
|||
---|---|---|---|
#18+
Lincoln Deadтам тоже string Чет я прозевал где он это сказал. Скажите, а почему указанный вами ListBoxItem lbi = (ListBoxItem)listBox1.ItemContainerGenerator.ContainerFromIndex(0); в конструкторе окна ничего не возвращает? В чем секрет? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.03.2012, 17:15 |
|
Поменять цвет шрифта у конкретного элемента listbox
|
|||
---|---|---|---|
#18+
LexxxxxLincoln Deadтам тоже string Чет я прозевал где он это сказал. кто "он"? LexxxxxСкажите, а почему указанный вами ListBoxItem lbi = (ListBoxItem)listBox1.ItemContainerGenerator.ContainerFromIndex(0); в конструкторе окна ничего не возвращает? В чем секрет? возвращает он всё. как и ListBoxItem lbi = listBox1.Items[index] as ListBoxItem;. Но дело в том что он не работает на итемах которые созданы программным кодом: string[] itemsArray=new string[]{"111","222","333","444"}; либо таким: listBox1.Items.Add("111"); listBox1.Items.Add("222"); ... |
|||
:
Нравится:
Не нравится:
|
|||
23.03.2012, 17:20 |
|
Поменять цвет шрифта у конкретного элемента listbox
|
|||
---|---|---|---|
#18+
LexxxxxLincoln Deadтам тоже string Чет я прозевал где он это сказал. Скажите, а почему указанный вами ListBoxItem lbi = (ListBoxItem)listBox1.ItemContainerGenerator.ContainerFromIndex(0); в конструкторе окна ничего не возвращает? В чем секрет? все просто. потому что listboxitem`Ы еще не созданы. они создаютс в момент, когда загружается scrollviewer у листбокса. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.03.2012, 17:25 |
|
Поменять цвет шрифта у конкретного элемента listbox
|
|||
---|---|---|---|
#18+
Lincoln Deadкто "он"? Вы. Это я уже просто запутался в ответах. Вопрос про ItemContainerGenerator адресовался AlexeiK. Lincoln Deadвозвращает он всё. как и ListBoxItem lbi = listBox1.Items[index] as ListBoxItem;. Но дело в том что он не работает на итемах которые созданы программным кодом: string[] itemsArray=new string[]{"111","222","333","444"}; либо таким: listBox1.Items.Add("111"); listBox1.Items.Add("222"); Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19.
Посмотрите на значение lbi в конструкторе и в Window_Loaded. Работает он нормально (не в конструкторе). ... |
|||
:
Нравится:
Не нравится:
|
|||
23.03.2012, 17:27 |
|
Поменять цвет шрифта у конкретного элемента listbox
|
|||
---|---|---|---|
#18+
AlexeiKLexxxxxпропущено... Чет я прозевал где он это сказал. Скажите, а почему указанный вами ListBoxItem lbi = (ListBoxItem)listBox1.ItemContainerGenerator.ContainerFromIndex(0); в конструкторе окна ничего не возвращает? В чем секрет? все просто. потому что listboxitem`Ы еще не созданы. они создаютс в момент, когда загружается scrollviewer у листбокса. я тоже так подумал и написал так: Код: c# 1. 2. 3. 4.
всё равно... ... |
|||
:
Нравится:
Не нравится:
|
|||
23.03.2012, 17:29 |
|
Поменять цвет шрифта у конкретного элемента listbox
|
|||
---|---|---|---|
#18+
Lincoln Dead, вот тебе файлик. все работает, на тех, которые я создал через дизайнер ну или xaml. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.03.2012, 17:29 |
|
Поменять цвет шрифта у конкретного элемента listbox
|
|||
---|---|---|---|
#18+
AlexeiKвсе просто. потому что listboxitem`Ы еще не созданы. они создаютс в момент, когда загружается scrollviewer у листбокса. Спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.03.2012, 17:29 |
|
Поменять цвет шрифта у конкретного элемента listbox
|
|||
---|---|---|---|
#18+
AlexeiK, точно, работает! всё теперь понятно)) спасибо за ответы всем) ... |
|||
:
Нравится:
Не нравится:
|
|||
23.03.2012, 17:35 |
|
Поменять цвет шрифта у конкретного элемента listbox
|
|||
---|---|---|---|
#18+
Lincoln Deadвсё равно... Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17.
И правда все равно... работает. :) ... |
|||
:
Нравится:
Не нравится:
|
|||
23.03.2012, 17:35 |
|
Поменять цвет шрифта у конкретного элемента listbox
|
|||
---|---|---|---|
#18+
форум отличный! ... |
|||
:
Нравится:
Не нравится:
|
|||
23.03.2012, 17:35 |
|
Поменять цвет шрифта у конкретного элемента listbox
|
|||
---|---|---|---|
#18+
LexxxxxLincoln Deadвсё равно... Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17.
И правда все равно... работает. :) но я тогда вместо этого просто while написал: while (!listBox1.HasItems) ; думал пока не загружено не выполнять изменение цвета. ))) ... |
|||
:
Нравится:
Не нравится:
|
|||
23.03.2012, 17:36 |
|
Поменять цвет шрифта у конкретного элемента listbox
|
|||
---|---|---|---|
#18+
Lincoln Dead, Код: c# 1. 2. 3. 4. 5.
Тоже вариант, но вроде как так не комильфо, но прямо в конструкторе можно поменять им цвета, если нужно конечно. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.03.2012, 17:40 |
|
|
start [/forum/topic.php?all=1&fid=21&tid=1441871]: |
0ms |
get settings: |
11ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
44ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
73ms |
get tp. blocked users: |
2ms |
others: | 308ms |
total: | 474ms |
0 / 0 |