Xamarin在ViewCell中将XAML ContextAction绑定到C#

阿里里克

我使用以下XAML来绑定视图模型中的delete命令:

        <TextCell.ContextActions>
          <MenuItem Command="{Binding Path=BindingContext.DeleteCollectionCommand, Source={x:Reference Name=CollectionListView}}"
                    CommandParameter="{Binding .}"
                    Text="Delete" 
                    IsDestructive="True" />
        </TextCell.ContextActions>

我正在尝试将其转换为C#,以便可以以编程方式使用它。

我已经尝试了以下方法,但是它不起作用。需要更改什么?是否有更好/不同的方法来访问ViewModel DeleteCommand?

    protected override void OnBindingContextChanged()
    {
        base.OnBindingContextChanged();

        var deleteAction = new MenuItem { Text = "Delete", IsDestructive = true }; // red background
        deleteAction.SetBinding(MenuItem.CommandParameterProperty, new Binding("."));
        deleteAction.SetBinding(MenuItem.CommandProperty,
            new Binding("BindingContext.DeleteCommand", BindingMode.Default, null, null, null, "{x:Reference Name=CollectionBeerListView}"));

        ContextActions.Add(deleteAction);
    }

编辑

我可以通过组合skar的答案并从父级视图像这样初始化Cell来使此工作正常进行:

        lstView.ItemTemplate = new DataTemplate(() =>
        {
            var cell = new DeleteGenericListItemTemplate(page);
            return cell;
        });

不知道这是否是理想的..但是让我动弹。

斯卡

如果您在文本单元格上扩展以创建类似于以下内容的页面引用,则应该能够通过页面的绑定上下文访问ViewModel上的DeleteCommand:

public class CustomCell: TextCell
{
        public CustomCell(Page page)
        {
            var deleteAction = new MenuItem { Text = "Delete", IsDestructive = true }; // red background
            deleteAction.SetBinding(MenuItem.CommandParameterProperty, new Binding("."));
            deleteButton.SetBinding (MenuItem.CommandProperty, new Binding ("BindingContext.DeleteCommand", source: page));
            ContextActions.Add(deleteAction);


        }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在XAML Xamarin表单中将属性绑定到RelativeLayout.XConstraint

来自分类Dev

在C#中将RadioButton绑定到int

来自分类Dev

Xamarin.Forms:在C#中绑定到整个BindingConext(不是XAML)

来自分类Dev

将颜色属性从XAML绑定到C#

来自分类Dev

尝试在Xamarin中关闭按钮上的ViewCell.ContextAction单击

来自分类Dev

无法在C#中将List <T>绑定到DataGridView!

来自分类Dev

在C#中将联接查询结果绑定到Gridview

来自分类Dev

如何在C#中将数据集绑定到CrystalReport

来自分类Dev

如何绑定到 C# Xamarin Forms 中的视图模型?

来自分类Dev

在XAML中将动作绑定到UserControl的属性

来自分类Dev

xamarin.forms从xaml绑定到属性

来自分类Dev

XAML Xamarin OnPlatform绑定

来自分类Dev

如何将修改后的属性绑定到控件Windows Universal Apps(XAML / C#)

来自分类Dev

此XAML代码将XML元素绑定到DataGrid的C#等效项是什么?

来自分类Dev

如何将C#生成的按钮绑定到XAML MVVM

来自分类Dev

将textBlock文本绑定到自定义类xaml C#中的值

来自分类Dev

WPF C#如何将AppStrings.resx中定义的值绑定到XAML内容

来自分类Dev

如何使用 C# 将图像源链接正确绑定到 wpf xaml

来自分类Dev

如何在C#中将数据表绑定到datagridview

来自分类Dev

在C#中将大型数据集绑定到网格时,如何防止窗口锁定?

来自分类Dev

如何在C#中将清单框绑定到组合框?

来自分类Dev

如何在C#中将数据表绑定到datagridview

来自分类Dev

如何在GridView Asp.net C#中将单独的查询绑定到单独的列

来自分类Dev

如何在 C# windows 窗体中将 List<dynamic> 绑定到 datagridview

来自分类Dev

将数据从 JSON 绑定到 ListView(Xamarin.Forms 跨平台 C#)

来自分类Dev

在XAML中将html字符串内容绑定到Webview

来自分类Dev

如何在XAML中将TextBox绑定到DataTable?

来自分类Dev

XAML绑定到数据对象Xamarin表单的父级

来自分类Dev

Xamarin Xaml将按钮的高度绑定到Label的高度

Related 相关文章

  1. 1

    在XAML Xamarin表单中将属性绑定到RelativeLayout.XConstraint

  2. 2

    在C#中将RadioButton绑定到int

  3. 3

    Xamarin.Forms:在C#中绑定到整个BindingConext(不是XAML)

  4. 4

    将颜色属性从XAML绑定到C#

  5. 5

    尝试在Xamarin中关闭按钮上的ViewCell.ContextAction单击

  6. 6

    无法在C#中将List <T>绑定到DataGridView!

  7. 7

    在C#中将联接查询结果绑定到Gridview

  8. 8

    如何在C#中将数据集绑定到CrystalReport

  9. 9

    如何绑定到 C# Xamarin Forms 中的视图模型?

  10. 10

    在XAML中将动作绑定到UserControl的属性

  11. 11

    xamarin.forms从xaml绑定到属性

  12. 12

    XAML Xamarin OnPlatform绑定

  13. 13

    如何将修改后的属性绑定到控件Windows Universal Apps(XAML / C#)

  14. 14

    此XAML代码将XML元素绑定到DataGrid的C#等效项是什么?

  15. 15

    如何将C#生成的按钮绑定到XAML MVVM

  16. 16

    将textBlock文本绑定到自定义类xaml C#中的值

  17. 17

    WPF C#如何将AppStrings.resx中定义的值绑定到XAML内容

  18. 18

    如何使用 C# 将图像源链接正确绑定到 wpf xaml

  19. 19

    如何在C#中将数据表绑定到datagridview

  20. 20

    在C#中将大型数据集绑定到网格时,如何防止窗口锁定?

  21. 21

    如何在C#中将清单框绑定到组合框?

  22. 22

    如何在C#中将数据表绑定到datagridview

  23. 23

    如何在GridView Asp.net C#中将单独的查询绑定到单独的列

  24. 24

    如何在 C# windows 窗体中将 List<dynamic> 绑定到 datagridview

  25. 25

    将数据从 JSON 绑定到 ListView(Xamarin.Forms 跨平台 C#)

  26. 26

    在XAML中将html字符串内容绑定到Webview

  27. 27

    如何在XAML中将TextBox绑定到DataTable?

  28. 28

    XAML绑定到数据对象Xamarin表单的父级

  29. 29

    Xamarin Xaml将按钮的高度绑定到Label的高度

热门标签

归档