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
此处查看更多信息-我刚刚尝试了您的示例,但没有出现任何结果…我是否缺少后面代码中的某些内容?请查看此处以设置数据源-