Member 13568484 Ответов: 1

Какая кнопка нажата, основанный на недвижимость в TextBlock с помощью XAML


У меня есть ObservableCollection, который добавляет элементы в textblock в Xaml.
Количество созданных текстовых блоков совпадает с количеством объектов в ObservableCollection.

Теперь то же самое для текстового блока, рядом с каждым текстовым блоком находится кнопка. Мне нужно распознать на основе свойства объекта(который находится в textblock), какая кнопка была нажата(не могу использовать onbuttonclick).

Что я уже пробовал:

Я не могу понять, как это сделать, потому что textblock и button не связаны, кроме как в дизайне.

1 Ответов

Рейтинг:
1

#realJSOP

Вы можете установить свойство тега кнопки на объект, с которым она связана.

button.Tag = collection[index];


Когда кнопка нажата, осмотрите устройство. Tag свойство для выполнения некоторой операции над объектом.

РЕДАКТИРОВАТЬ=================================

Если бы это был я, я бы не использовал серию TextBlock элементы управления с кнопками, связанными с ними. Я бы использовал какой-нибудь контейнер для сбора данных, например ListBox, ListView, или ComboBox, с помощью одной кнопки, которая обрабатывает текущий выбранный элемент в контейнере.


Member 13568484

Прежде всего, большое спасибо за то, что помог мне в эти дни :D
Я не очень хорошо понимаю это, потому что у меня есть только кнопка, определенная на шаблоне,
и я всегда использовал Command={Binding}..а затем внутри кода у меня была бы DelegateCommand, которая приведет к методу при нажатии кнопки.
Я не знаю, как бы я сделал это сейчас ?
Извините если я не понял помогите

#realJSOP

Я обновил свой ответ дизайнерским предложением.