Ich versuche meine erste, einfache Anwendung mit Xamarin.Forms zu erstellen.Binding ToolbarItem Klicken Sie in Xamarin.Forms
In dieser App habe ich eine ContentPage mit einem ListView und einer Toolbar (innerhalb einer NavigationPage).
Die Symbolleiste verfügt über ein ToolbarItem, das beim Klicken eine Methode ausführen sollte. Obwohl ich Google dünn gesucht habe, kann ich es einfach nicht zur Arbeit bringen ...
Kann mir jemand sagen, was ich vermisse?
XAML:
<?xml version="1.0" encoding="UTF-8"?>
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:constants="clr-namespace:FlashCards;assembly=FlashCards"
x:Class="FlashCards.SetsPage"
Title="Card Sets">
<ContentPage.ToolbarItems>
<ToolbarItem Name="Add" Icon="Icon-Button-Add.png" Command="{Binding CreateCommand}"></ToolbarItem>
</ContentPage.ToolbarItems>
<ListView x:Name="CardSetView">
<ListView.ItemTemplate>
<DataTemplate>
<TextCell Text="{Binding Title}" />
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
</ContentPage>
Codebehind:
//...
public partial class SetsPage : ContentPage
{
ObservableCollection<CardSet> sets = new ObservableCollection<CardSet>();
public Command CreateCommand { get; private set; }
public SetsPage() {
InitializeComponent();
sets.Add(new CardSet{ Title = "Test 1" });
sets.Add(new CardSet{ Title = "Test 2" });
sets.Add(new CardSet{ Title = "Test 3" });
CardSetView.ItemsSource = sets;
this.CreateCommand = new Command(async (sender) =>
{
Debug.WriteLine("Hello");
});
}
}
//...
Ich habe versucht:
- Was Sie sehen oben
- Erstellen der Symbolleiste und die Taste nur durch C# (Und eine 012 hinzufügenParameter an den Konstruktor ToolbarItem)
- Eine regelmäßige ol‘
(object sender, System.EventArgs e) => { ... }
Ereignis-Listener (durch Code mit.Clicked +=
)
alternativ erwartet funktionieren, könnte man einfach eingestellt this.BindingContext = this; – Jason
das funktioniert nicht wie erwartet in meinem Test. Hast du versucht? –