Sto cercando di aggiungere alcuni elementi a un Listview che ho aggiunto usando il markup Xamarin.Forms in un file xaml. È possibile accedere al pulsante agganciando l'evento click.Ma poiché la listview è vuota ho bisogno dell'evento come ondraw
come in winforms, così posso collegarmi quando viene disegnato.Xamarin.Forms che accede ai controlli scritti nel markup dal codice
Nel file XAML che ho:
<?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="ButtonXaml.ButtonXamlPage">
<StackLayout>
<Button Text="Tap for click count!"
BorderWidth="10"
TextColor="Red"
HorizontalOptions="Center"
Clicked="OnButtonClicked" />
<ListView
HorizontalOptions="Center"
/>
</StackLayout>
</ContentPage>
Negli cs depositare ho
using System;
using Xamarin.Forms;
namespace ButtonXaml
{
public partial class ButtonXamlPage
{
int count = 0;
public ButtonXamlPage()
{
InitializeComponent();
}
public void OnButtonClicked(object sender, EventArgs args)
{
((Button)sender).Text = "You clicked me";
}
}
}
Quindi devo collegare ad eventi in Listview o posso fare qualcosa come Resource.getElementbyID
come facciamo in Android
Perché stai cercando di collegare in quando è disegnato * *? Normalmente si popolerebbe la vista quando il modulo è * caricato * o qualcosa di simile. C'è qualche ragione per cui non stai usando un'associazione con un modello di visualizzazione qui? Questo sarebbe l'approccio più convenzionale: abbracciare MVVM :) –
@JonSkeet Motivo? Non so come farlo :) Puoi fornirmi un link ad un esempio o qualcosa del genere, sono abbastanza nuovo per xamarin.forms.In android creiamo un customadaptor e lo assegno alla listview che ottengo dalla risorsa usando Resource .getElementbyID, in xamarin.forms come fare questo? – techno
Piuttosto che cercare di scrivere il codice Xamarin.Forms come se fosse un codice Android, vorrei * fortemente * incoraggiarti a leggere il modo in cui Xamarin.Forms funziona e le sue espressioni idiomatiche. Finirai con * molto * codice più bello in questo modo. http://developer.xamarin.com/guides/cross-platform/xamarin-forms/xaml-for-xamarin-forms/data_bindings_to_mvvm/ introduce MVVM in Xamarin.Forms, e c'è un sacco di altra documentazione disponibile. (Credo che si possa semplicemente fornire un attributo 'Nome' nello XAML e si otterrà una variabile nel code-behind, ma l'utilizzo di MVVM sarebbe molto più pulito e più verificabile.) –