Mein Code ist wie folgt. Ich weiß nicht, ob der Befehl für das ToolbarItem korrekt implementiert ist. Es gibt keinen Fehler beim Kompilieren. Wenn auf den Baritem geklickt wird, passiert nichts.Toolbaritem in ToolBar nicht feuern wenn klicken
--- Xaml
<TabbedPage xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:local ="clr-namespace:SembIWIS.View"
BackgroundColor="White"
Title="Repair and Service"
x:Class="MyMainMenu">
<ContentPage.ToolbarItems>
<ToolbarItem Name="MenuItem1" Order="Primary" Icon="itemIcon1" Command="{Binding Item1Command}" Priority="0" />
<ToolbarItem Name="MenuItem2" Order="Primary" Icon="itemIcon2" Priority="1" />
</ContentPage.ToolbarItems>
<local:Product>
</local:Product>
<local:Service>
</local:Service>
</TabbedPage>
--------- Code Behind:
public partial class MyMainMenu : TabbedPage
{
public ICommand Item1Command { get; private set; }
public MyMainMenu()
{
InitializeComponent();
BindingContext = this;
NavigationPage.SetHasBackButton(this, true);
Init();
}
private void Init()
{
this.Item1Command = new Command((sender) =>
{
Navigation.PushAsync(new UpdateProduct());
});
}
Sie haben den Bindungskontext für Ihre Ansicht nicht festgelegt, daher ist das 'Command =" {Binding Item1Command} "an nichts gebunden. Eine kurzfristige Problemumgehung besteht darin, den Bindungskontext im 'MyMainMenu'-Konstruktor festzulegen:' BindingContext = this; ', obwohl Sie möglicherweise das MVVM-Muster untersuchen und Ihr ViewModel in eine separate Klasse verschieben möchten, die nichts über die Benutzeroberfläche weiß. – Damian
Dies geschieht auf der gleichen Seite. Kannst du mir freundlicherweise zeigen, wie und wo der Binding-Kontext hinzugefügt werden soll. – MilkBottle
Ich habe meinen Kommentar aktualisiert, um zu erklären (ich habe vorzeitig Enter gedrückt). – Damian