【问题标题】:Access CommandParameter Fields (c# Xamarin)访问 CommandParameter 字段 (c# Xamarin)
【发布时间】:2025-12-23 03:00:06
【问题描述】:

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

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

在调试过程中,selectedItemDetails 显示以下局部变量:

您如何访问这些字段?至于我怎么能做这样的事情:

var FieldIWantToUse = selectedItemsDetails.ShortDescription

谢谢大家。

【问题讨论】:

    标签: c# xamarin data-binding


    【解决方案1】:
    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;
              ...
          }
      

      【讨论】:

        最近更新 更多