Форум программистов, компьютерный форум CyberForum.ru

Программирование Windows Phone

Войти
Регистрация
Восстановить пароль
 
C0oder
0 / 0 / 0
Регистрация: 14.07.2014
Сообщений: 5
#1

ListBox. По нажатию получить свойство объекта - Windows Phone

14.07.2014, 13:51. Просмотров 934. Ответов 10
Метки нет (Все метки)

Здравствуйте, возникла одна проблема, перерыл интернет не нашёл решения. У меня в ListBox содержется 3 элемента: 2-TextBlock и 1-Image, эти элементы заполняются данными и получется список, так вот, мне нужно чтобы при нажатии на элемент получить какие либо его свойства (Name/Text и т.д), пока что могу узнать только индекс элемента. Подскажите, как это реализовать?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
za5
440 / 344 / 30
Регистрация: 16.10.2010
Сообщений: 842
Записей в блоге: 7
14.07.2014, 14:38     ListBox. По нажатию получить свойство объекта #2
Цитата Сообщение от C0oder Посмотреть сообщение
пока что могу узнать только индекс элемента.
C#
1
2
3
4
5
6
7
8
if (listbox.Items[selectedindex] is TextBlock)
{
    (listbox.Items[selectedindex] as TextBlock).Text = "4 8 15 16 23 42";
}
//
(listbox.SelectedItem as FrameworkElement).Name = "4 8 15 16 23 42";
//
(listbox.Items[selectedindex] as FrameworkElement).Name = "4 8 15 16 23 42";
C0oder
0 / 0 / 0
Регистрация: 14.07.2014
Сообщений: 5
14.07.2014, 15:06  [ТС]     ListBox. По нажатию получить свойство объекта #3
Не, немного не то, мне нужно не присвоить, а получить, т.е с TextBlock - текст.
za5
440 / 344 / 30
Регистрация: 16.10.2010
Сообщений: 842
Записей в блоге: 7
14.07.2014, 15:34     ListBox. По нажатию получить свойство объекта #4
Цитата Сообщение от C0oder Посмотреть сообщение
не присвоить, а получить
ну здесь ничем не смогу помочь... крайне сложная задача)
A4Tech_Man
51 / 51 / 7
Регистрация: 23.05.2013
Сообщений: 465
14.07.2014, 18:21     ListBox. По нажатию получить свойство объекта #5
ну я думаю ты же как-бы передаешь свой ListBox ItemTemplate типа List<T> ты получил же нужный индекс, вот и обращайся в List по индексу
C0oder
0 / 0 / 0
Регистрация: 14.07.2014
Сообщений: 5
14.07.2014, 19:58  [ТС]     ListBox. По нажатию получить свойство объекта #6
Цитата Сообщение от Зиннур Посмотреть сообщение
ну я думаю ты же как-бы передаешь свой ListBox ItemTemplate типа List<T> ты получил же нужный индекс, вот и обращайся в List по индексу
В том то и проблема я не могу обратиться) Не подскажите пример?
za5
440 / 344 / 30
Регистрация: 16.10.2010
Сообщений: 842
Записей в блоге: 7
14.07.2014, 20:24     ListBox. По нажатию получить свойство объекта #7
C#
1
2
3
4
private void событие_нажатия_на_ListBox(object sender, EventArgs e)
{
      string text = ((sender as ListBox).Items[index] as TextBlock).Text;
}
Нужно присвоить имя текстбоксу и тогда к нему можно будет напрямую обратиться не прибегая к as

Добавлено через 3 минуты
в каком месте планируется получать текст с текстбокса?
XML
1
2
<TextBlock x:Name="username"  
       x:FieldModifier="public"
A4Tech_Man
51 / 51 / 7
Регистрация: 23.05.2013
Сообщений: 465
14.07.2014, 20:27     ListBox. По нажатию получить свойство объекта #8
ну получается же у тебя List<T> это и есть твой ListBox, т.к. они связаны. И если ты изменишь первый элемент List<T> то у тебя список сам автоматически обновится без дополнительных действий. И да List<T> не совсем подходит, надо ObservableCollection<T> вот он в самый раз. тебе надо будет в SelectionChanget узнать index, и просто вытащить по индексу из ObservableCollection<T> нужные тебе значения и все. Вроде так если я правильно понял суть вопроса.
Вот пример:
C#
1
2
3
4
5
public ObservableCollection<CTimeList> timeList { get; set; }
public SettingsPage()
{
        timeList = new ObservableCollection<CTimeList>();
}
Дальше просто работаешь как с List<T>
za5
440 / 344 / 30
Регистрация: 16.10.2010
Сообщений: 842
Записей в блоге: 7
14.07.2014, 20:48     ListBox. По нажатию получить свойство объекта #9
Цитата Сообщение от za5 Посмотреть сообщение
Нужно присвоить имя текстбоксу и тогда к нему можно будет напрямую обратиться не прибегая к as
листбоксу вернее
XML
1
<ListBox x:Name="o" x:FieldModifier="public"
Добавлено через 10 минут
если ничего не получится выкладывайте код, а то мало конкретики
C0oder
0 / 0 / 0
Регистрация: 14.07.2014
Сообщений: 5
14.07.2014, 21:04  [ТС]     ListBox. По нажатию получить свойство объекта #10
Буду пробовать, отпишусь как что, спасибо!
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.07.2014, 16:31     ListBox. По нажатию получить свойство объекта
Еще ссылки по теме:
JavaScript Не изменяется свойство объекта
Свойство в listBox, отвечающее за выбранный элемент Delphi
JavaScript Свойство style объекта text
Проверка объекта на свойство fsBold C++ Builder
Visual Basic Свойство ConnectionString объекта Connection

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Microst
2 / 2 / 1
Регистрация: 28.06.2014
Сообщений: 21
17.07.2014, 16:31     ListBox. По нажатию получить свойство объекта #11
C0oder, Если нужно получить данные того чем заполняешь, то добавь в сетку(или stackpanel, смотря какая у тебя разметку) событие Tap, далее в коде,
C#
1
2
var grid = sender as Grid;
Переменная_типа_для_listbox test = grid.DataContext as Переменная_типа_для_listbox;
Yandex
Объявления
17.07.2014, 16:31     ListBox. По нажатию получить свойство объекта
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru