问题描述
我正在尝试在 ObservableCollection
ListView
上绑定 ItemsSource
但它没有向我显示任何内容,尝试在 xaml 上的代码内部绑定..
public partial class ReadPage : ContentPage
{
private CarregarClientes _cclientes = new CarregarClientes();
private MysqLCon _db = new MysqLCon();
private MysqLConOverloads _over = new MysqLConOverloads();
private MysqLiteCon _dbsqliteCon = new MysqLiteCon();
private MysqLiteConOverloads _oversqlite = new MysqLiteConOverloads();
//MY OBSERVABLECOLLECTION DEFinitioN -----------------------------
public ObservableCollection<Clientes> _ClientesList { get; set; }
private string _tabela = "Clientes";
public ReadPage()
{
InitializeComponent();
backBtn.Clicked += async (s,o) => await Navigation.PopModalAsync();
//Method used to populate the ObservableCollection (_ClientesList);
PopularObservableCollection();
}
我在 ObservableCollection
类中定义 ReadPage
,然后使用名为 PopularObservableCollection
的方法填充它。
public void PopularObservableCollection()
{
_ClientesList = new ObservableCollection<Clientes>();
int quantidadeDados = _cclientes.CNumeroItems() -1;
List<string> id = _cclientes.Cid();
List<string> debito = _cclientes.CDebito();
List<string> endereco = _cclientes.CEndereco();
List<string> nome = _cclientes.CNome();
List<string> observacao = _cclientes.CObservacao();
List<string> saldo = _cclientes.CSaldo();
List<string> telefone = _cclientes.CTelefone();
for (int i = 0; i <= quantidadeDados; i++)
{
_ClientesList.Add(new Clientes
{
id = id[i],Debito = debito[i],Endereco = endereco[i],Nome = nome[i],Observacao = observacao[i],Saldo = saldo[i],Telefone = telefone[i]
});
}
}
Clientes.cs:
public class Clientes : BindableObject
{
public string id { get; set; }
public string Nome { get; set; }
public string Endereco { get; set; }
public string Telefone { get; set; }
public string Debito { get; set; }
public string Saldo { get; set; }
public string Observacao { get; set; }
}
XAML:
<ListView
BindingContext="{Binding Source={x:Reference MyPage},Path=.}"
x:Name="readListView"
BackgroundColor="PaleVioletRed"
HasUnevenRows="True"
CachingStrategy="RecycleElement"
HorizontalOptions="FillAndExpand"
ItemsSource="{Binding _ClientesList}"
VerticalOptions="FillAndExpand"
ItemTapped="ReadListView_OnItemTapped">
<ListView.ItemTemplate>
<DataTemplate>
<ViewCell>
<Grid>
<Label Text="Id:" Grid.Row="0"/>
<Label Text="{Binding id}" Grid.Row="0" Margin="10,0"/>
<Label Text="{Binding Nome}" Grid.Row="1" />
</Grid>
</ViewCell>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)