0
我嘗試綁定數據,但列表視圖未顯示任何我調試過的內容,而且我看到項目正常出現,但列表視圖不顯示任何內容。我怎樣才能綁定我的名單列表視圖我搜索了很多,但我沒能找到任何解決方案Xamarin將綁定數據綁定到ListView中的網格組件
ResultPage.xaml.cs
using System;
using System.Collections.Generic;
using FindDiscount.Models;
using Xamarin.Forms;
using System.Collections.ObjectModel;
namespace FindDiscount {
public partial class ResultPage : ContentPage {
public ObservableCollection<resultModel> products;
public ResultPage(int distance, string productName) {
InitializeComponent();
initData();
}
public ResultPage() {
InitializeComponent();
}
void initData(){
products = new ObservableCollection<resultModel>();
products.Add(new resultModel{
productName="Samsung Note 4",
companyName="Samsung",
productPrice=1000,
discountRate=15,
imageURL="hamburger.png"
});
products.Add(new resultModel {
productName = "iphone 7",
companyName = "Apple",
productPrice = 3000,
discountRate = 45,
imageURL = "hamburger.png"
});
products.Add(new resultModel {
productName = "Windows Phone ",
companyName = "Microsoft",
productPrice = 1000,
discountRate = 15,
imageURL = "hamburger.png"
});
ProductsListView.ItemsSource = products;
}
}
}
ResultPage.xaml
<?xml version="1.0" encoding="UTF-8"?>
<ContentPage
xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
x:Class="FindDiscount.ResultPage">
<ContentPage.Content>
<ListView x:Name="ProductsListView" HasUnevenRows="true" ItemsSource="{Binding products}">
<ListView.ItemTemplate>
<DataTemplate>
<ViewCell>
<ViewCell.View>
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="*"/>
<RowDefinition Height="*"/>
<RowDefinition Height="*"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<Image Grid.Row="0" Grid.Column="0" Source="{Binding imageURL}" />
<Label Grid.Row="0" Grid.Column="1" Text="{Binding productName}" TextColor="Black" />
<Label Grid.Row="1" Grid.Column="1" Text="{Binding companyName}" TextColor="Black" />
<Label Grid.Row="2" Grid.Column="0" Text="{Binding productPrice}" TextColor="Black" />
<Label Grid.Row="2" Grid.Column="1" Text="{Binding discountRate}" TextColor="Black" />
<Button Grid.Row="3" Grid.Column="1" Text="Locaiton" TextColor="Black" />
</Grid>
</ViewCell.View>
</ViewCell>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
</ContentPage.Content>
</ContentPage>
我用相同的代碼解決了我使用MVVM的問題 –