Я пытаюсь создать свое первое, простое приложение с Xamarin.Forms.Binding ToolbarItem Нажмите в Xamarin.Forms
В этом приложении у меня есть ContentPage с ListView и панель инструментов (внутри NavigationPage).
Панель инструментов имеет панель инструментов, которая должна запускать метод при нажатии. Хотя я искал Google тонкий, я просто не могу заставить его работать ...
Может ли кто-нибудь сказать мне, что мне не хватает?
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");
});
}
}
//...
Я пробовал:
- То, что вы видите выше
- Создание панели инструментов и кнопку только через C# (И добавление
async() => { ... }
параметр конструктора ToolbarItem) - регулярный Ol»
(object sender, System.EventArgs e) => { ... }
событие слушателя (через код с.Clicked +=
)
в качестве альтернативы, вы можете просто установить this.BindingContext = это; – Jason
, который не работает должным образом в моем тесте. Ты пробовал? –