Xamarin C # - Android - Verhindert, dass ein AlertDialog beim Klicken auf PositiveButton geschlossen wird

Ich bin neu in Xamarin und weiß nicht, wie man das Folgende in c # macht. Ich möchte verhindern, dass ein Warndialog geschlossen wird, wenn Sie auf die Schaltflächen Positiv / Negativ klicken. Ich muss zuerst einige Überprüfungen an der Eingabe vornehmen. Wenn die Eingabe korrekt ist, kann der Dialog geschlossen werden, ansonsten zeige ich eine Meldung mit Anweisungen. Grundsätzlich habe ich folgenden Code:

private void CreateAddProjectDialog() { 
    //some code
    var alert = new AlertDialog.Builder (this);
    alert.SetTitle ("Create new project");
    alert.SetView (layoutProperties);
    alert.SetCancelable (false);
    alert.SetPositiveButton("Create", HandlePositiveButtonClick);
    alert.SetNegativeButton("Cancel", HandelNegativeButtonClick);
}

private void HandlePositiveButtonClick (object sender, EventArgs e) {
    //Do some validation here and return false (prevent closing of dialog) if invalid, else close....
}

Jetzt habe ich den folgenden Beitrag über StackOverflow gelesen:So verhindern Sie, dass ein Dialogfeld geschlossen wird, wenn Sie auf eine Schaltfläche klicken

Ich denke, der folgende Code (aus dem Thread entnommen) hat die Lösung, aber ich weiß nicht, wie ich meinen C # -Code umschreiben soll, um Java zu implementieren:

AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
builder.setMessage("Test for preventing dialog close");
builder.setPositiveButton("Test", 
    new DialogInterface.OnClickListener()
    {
        @Override
        public void onClick(DialogInterface dialog, int which)
        {
            //Do nothing here because we override this button later to change the close behaviour. 
            //However, we still need this because on older versions of Android unless we 
            //pass a handler the button doesn't get instantiated
        }
    });
AlertDialog dialog = builder.create();
dialog.show();
//Overriding the handler immediately after show is probably a better approach than     OnShowListener as described below
dialog.getButton(AlertDialog.BUTTON_POSITIVE).setOnClickListener(new View.OnClickListener()
{

    @Override
    public void onClick(View v)
    {
        Boolean wantToCloseDialog = false;
        //Do stuff, possibly set wantToCloseDialog to true then...
        if(wantToCloseDialog)
                dismiss();
        //else dialog stays open. Make sure you have an obvious way to close the dialog especially if you set cancellable to false.
    }
});

Wie codiere ich das in c #? Vor allem der Override-Teil im Bereich setPositiveButton ...

Antworten auf die Frage(1)

Ihre Antwort auf die Frage