访问CommandParameter字段(c#Xamarin)

问题描述 投票:0回答:2

我有一个产品列表,坐在ListView中。每个产品都有详细信息如果我按下ListView中的某个产品中的按钮,则事件处理程序将绑定到产品及其所有详细信息。让我们说,为了论证,按钮会触发以下事件处理程序:

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

在调试期间,selectedItemDetails显示以下本地:

enter image description here

你如何访问这些字段?我怎么能这样做:

var FieldIWantToUse = selectedItemsDetails.ShortDescription

多谢你们。

c# xamarin data-binding
2个回答
3
投票
var FieldIWantToUse = ((RackProduct)selectedItemsDetails.selectedItems).ShortDescription;

要么

var FieldIWantToUse = selectedItemsDetails.selectedItems.ShortDescription;

它有效吗?


2
投票

您应该使用直接强制转换为listView所包含的项类型。一个小例子(对于弹出菜单,但想法相同):

XAML:

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

码:

    private void ButtonClicked(object sender, EventArgs args)
    {
        var yourVar = (YourType)((MenuItem)sender).CommandParameter;
        ...
    }
© www.soinside.com 2019 - 2024. All rights reserved.