Доступ к полям CommandParameter (c # Xamarin) - PullRequest
0 голосов
/ 22 октября 2018

У меня есть список продуктов, сидящий в ListView.Каждый продукт имеет детали.Если я нажимаю кнопку в одном из продуктов в ListView, обработчик событий привязывается к продукту и всем его деталям.Допустим, для аргументов, что кнопка запускает следующий обработчик событий:

public async void OnClickViewImageCarousel(object sender, EventArgs e)
        {
            var selectedItemDetails = ((Button)sender).CommandParameter; 
        }

Во время отладки selectedItemDetails отображает следующие локальные объекты:

enter image description here

Как вы получаете доступ к полям?Как в том, как я мог сделать что-то вроде:

var FieldIWantToUse = selectedItemsDetails.ShortDescription

Спасибо, ребята.

Ответы [ 2 ]

0 голосов
/ 22 октября 2018

Вы должны использовать прямое приведение к типу элементов, из которых состоит ваш listView.Небольшой пример (для всплывающего меню, но идея та же):

XAML:

<MenuItem ...Clicked="ButtonClicked"  CommandParameter="{Binding .}" />

Код:

    private void ButtonClicked(object sender, EventArgs args)
    {
        var yourVar = (YourType)((MenuItem)sender).CommandParameter;
        ...
    }
0 голосов
/ 22 октября 2018
var FieldIWantToUse = ((RackProduct)selectedItemsDetails.selectedItems).ShortDescription;

Или

var FieldIWantToUse = selectedItemsDetails.selectedItems.ShortDescription;

Это работает?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...