C# 表单-将模型列表绑定到网格?

C# 表单-将模型列表绑定到网格?,c#,xamarin.forms,C#,Xamarin.forms,我这里有一个网格: <Grid> <Grid.ColumnDefinitions> <ColumnDefinition Width="2*" /> <ColumnDefinition Width="2*" /> </Grid.ColumnDefinitions> </Grid> 我现在要做的是

我这里有一个网格:

<Grid>
            <Grid.ColumnDefinitions>
                <ColumnDefinition Width="2*" />
                <ColumnDefinition Width="2*" />
            </Grid.ColumnDefinitions>
        </Grid>

我现在要做的是将我的列表绑定到网格,这是我的代码:

List<TaxClass> taxes = new List<TaxClass>();

taxes.Add(new TaxClass { amount = 0.0, date = new DateTime() });
List taxes=new List();
taxes.Add(新的TaxClass{amount=0.0,date=new DateTime()});

我的问题是如何将此列表绑定到网格?我正在尝试实现此添加/删除功能。

实现此功能的最佳方法是创建列表视图并将项目模板设置为网格。如下所示:

    <ListView x:Name="listView" ItemsSource="taxes">
        <ListView.ItemTemplate>
            <DataTemplate>
                <ViewCell>
                    <Grid>
                        <Grid.ColumnDefinitions>
                           <ColumnDefinition Width="2*" />
                           <ColumnDefinition Width="2*" />
                        </Grid.ColumnDefinitions>
                        <label text = "{binding amount}" grid.Column="0"/>
                        <label text = "{binding date }" grid.Column="1"/>
                    </Grid>
                </ViewCell>
            </DataTemplate>
        </ListView.ItemTemplate>
     </ListView>


在代码隐藏中,尝试
listView.ItemSource=taxes

有许多列表控件用于显示数据列表,特别是需要滚动的长列表,例如ListView或Collectionview等

Ryan已经提供了一些关于使用ListView的代码,如果您对ListView还有一些问题,您可以在github上查看示例,也可以在此示例中查看collectionview

现在,我提供一些关于如何使用Collectionview的代码

首先,在Xamarin.Forms 4.0预发行版中引入了CollectionView。CollectionView是一个使用不同布局规范显示数据列表的视图。它旨在为ListView提供更灵活、更高性能的替代方案

您需要在android的Mainactivity.cs中添加以下代码

 protected override void OnCreate(Bundle savedInstanceState)
    {
        TabLayoutResource = Resource.Layout.Tabbar;
        ToolbarResource = Resource.Layout.Toolbar;

        base.OnCreate(savedInstanceState);

        //add this line
        global::Xamarin.Forms.Forms.SetFlags("CollectionView_Experimental");
        Xamarin.Essentials.Platform.Init(this, savedInstanceState);
        global::Xamarin.Forms.Forms.Init(this, savedInstanceState);
        LoadApplication(new App());
    }
MainPage.xaml:

 <CollectionView ItemsSource="{Binding taxs}">
        <CollectionView.ItemTemplate>
            <DataTemplate>
                <StackLayout>
                    <Label Text="{Binding amount}" />
                    <Label Text="{Binding date}" />
                </StackLayout>
            </DataTemplate>
        </CollectionView.ItemTemplate>
    </CollectionView>

MainPage.cs:

 public partial class MainPage : ContentPage
{
    public List<TaxClass> taxs { get; set; }
    public MainPage()
    {
        InitializeComponent();
        taxs = new List<TaxClass>()
        {
            new TaxClass(){amount=12.01,date=DateTime.Parse("2019-01-01")},
             new TaxClass(){amount=13.01,date=DateTime.Parse("2019-01-01")},
              new TaxClass(){amount=14.01,date=DateTime.Parse("2019-01-01")},
               new TaxClass(){amount=15.01,date=DateTime.Parse("2019-01-01")},
                new TaxClass(){amount=16.01,date=DateTime.Parse("2019-01-01")}
        };
        this.BindingContext = this;
    }
}

public class TaxClass
{
    public double amount { get; set; }
    public DateTime date { get; set; }
}
public分部类主页面:ContentPage
{
公共列表分类{get;set;}
公共主页()
{
初始化组件();
taxs=新列表()
{
新的TaxClass(){amount=12.01,date=DateTime.Parse(“2019-01-01”)},
新的TaxClass(){amount=13.01,date=DateTime.Parse(“2019-01-01”)},
新的TaxClass(){amount=14.01,date=DateTime.Parse(“2019-01-01”)},
新的TaxClass(){amount=15.01,date=DateTime.Parse(“2019-01-01”)},
新的TaxClass(){amount=16.01,date=DateTime.Parse(“2019-01-01”)}
};
this.BindingContext=this;
}
}
公营税种
{
公共双倍金额{get;set;}
公共日期时间日期{get;set;}
}

网格是一种静态布局,您可以将列表绑定到它。您应该查看
ListView
CollectionView
此处查看更多信息-我刚刚尝试了您的示例,但没有出现任何结果…我是否缺少后面代码中的某些内容?请查看此处以设置数据源-