Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

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

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

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

Здравствуйте, возникла одна проблема, перерыл интернет не нашёл решения. У меня в ListBox содержется 3 элемента: 2-TextBlock и 1-Image, эти элементы заполняются данными и получется список, так вот, мне нужно чтобы при нажатии на элемент получить какие либо его свойства (Name/Text и т.д), пока что могу узнать только индекс элемента. Подскажите, как это реализовать?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.07.2014, 13:51
Здравствуйте! Я подобрал для вас темы с ответами на вопрос ListBox. По нажатию получить свойство объекта (Windows Phone):

Свойство Content объекта Button - Windows Phone
Скажите, пожалуйста, как на с# поменять у Button свойство Content?

Как реализовать по нажатию на выбранный элемент ListBox вывод по нему какой либо информации в другом ListBox - C#
Приветствую... Нужна ваша помощь. Недавно начал разбираться с шарпами. Знание синтаксиса хромает... Решил написать программу которая будет...

По нажатию на Button отключить свойство Form1_Resize - C#
В Form1_Resize есть функции которые меняют вид компонентов при изменении размера формы/фрейма. Как по нажатию на Button отключить...

ListBox и свойство Style=1-CheckBox - C# ASP.NET
Привет всем. В VB6 у ListBox есть свойство Style=1-CheckBox. А существует ListBox с похожим свойством для HTML?

Свойство Style для ListBox - Visual Basic
А именно: можно ли программно его изменить? В Диспетчере он указан 'реад-онли' и описан как 'ретурн/сет стиль'. Так все-таки: 'реад-онли'...

Есть ли в ListBox свойство GridLines - C#
День добрый, В ListView есть свойство GridLines - отображение горизонтальных разделителей между строк. А, что то такого в ListBox я...

10
za5
442 / 346 / 30
Регистрация: 16.10.2010
Сообщений: 842
Записей в блоге: 7
14.07.2014, 14:38 #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";
0
C0oder
0 / 0 / 0
Регистрация: 14.07.2014
Сообщений: 5
14.07.2014, 15:06  [ТС] #3
Не, немного не то, мне нужно не присвоить, а получить, т.е с TextBlock - текст.
0
za5
442 / 346 / 30
Регистрация: 16.10.2010
Сообщений: 842
Записей в блоге: 7
14.07.2014, 15:34 #4
Цитата Сообщение от C0oder Посмотреть сообщение
не присвоить, а получить
ну здесь ничем не смогу помочь... крайне сложная задача)
1
A4Tech_Man
51 / 51 / 7
Регистрация: 23.05.2013
Сообщений: 489
14.07.2014, 18:21 #5
ну я думаю ты же как-бы передаешь свой ListBox ItemTemplate типа List<T> ты получил же нужный индекс, вот и обращайся в List по индексу
0
C0oder
0 / 0 / 0
Регистрация: 14.07.2014
Сообщений: 5
14.07.2014, 19:58  [ТС] #6
Цитата Сообщение от Зиннур Посмотреть сообщение
ну я думаю ты же как-бы передаешь свой ListBox ItemTemplate типа List<T> ты получил же нужный индекс, вот и обращайся в List по индексу
В том то и проблема я не могу обратиться) Не подскажите пример?
0
za5
442 / 346 / 30
Регистрация: 16.10.2010
Сообщений: 842
Записей в блоге: 7
14.07.2014, 20:24 #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"
1
A4Tech_Man
51 / 51 / 7
Регистрация: 23.05.2013
Сообщений: 489
14.07.2014, 20:27 #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>
1
za5
442 / 346 / 30
Регистрация: 16.10.2010
Сообщений: 842
Записей в блоге: 7
14.07.2014, 20:48 #9
Цитата Сообщение от za5 Посмотреть сообщение
Нужно присвоить имя текстбоксу и тогда к нему можно будет напрямую обратиться не прибегая к as
листбоксу вернее
XML
1
<ListBox x:Name="o" x:FieldModifier="public"
Добавлено через 10 минут
если ничего не получится выкладывайте код, а то мало конкретики
1
C0oder
0 / 0 / 0
Регистрация: 14.07.2014
Сообщений: 5
14.07.2014, 21:04  [ТС] #10
Буду пробовать, отпишусь как что, спасибо!
0
Microst
2 / 2 / 1
Регистрация: 28.06.2014
Сообщений: 21
17.07.2014, 16:31 #11
C0oder, Если нужно получить данные того чем заполняешь, то добавь в сетку(или stackpanel, смотря какая у тебя разметку) событие Tap, далее в коде,
C#
1
2
var grid = sender as Grid;
Переменная_типа_для_listbox test = grid.DataContext as Переменная_типа_для_listbox;
0
17.07.2014, 16:31
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.07.2014, 16:31
Привет! Вот еще темы с ответами:

Не изменяется свойство объекта - JavaScript
&lt;script&gt; function TextCut(event) { this.event = event; cutIf(this.event); function...

Не возвращается свойство объекта - JavaScript
var div = document.createElement('div'); div.setAttribute('name', 123); document.body.appendChild(div); ...

Свойство динамического объекта - ActionScript
Как программно узнать, есть-ли у мувика например свойство под названием type? if (skinB.type) trace(&quot;skinB.type&quot;); Так не катит,...

Свойство неизвестного объекта - C#
Как правильно написать такую функцию, чтобы при передаче туда любого объекта возвращалась длина этого объекта? Предполагается, что свойство...


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Опции темы

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