在Xamarin.forms上的操作中添加一个取消按钮



im试图在我的显示警报上添加一个取消选项,以取消操作。当前,当用户单击"提交"按钮时,数据已将数据发布到Azure数据库中,并且显示显示"添加了反馈,添加了症状反馈"的显示消息,并且用户可以选择'OK'或'CANCAL',但数据是已经添加了,他们什么也没做。有什么方法可以设置它,以便用户必须选择"确定"以添加数据并可以选择取消操作的"取消"选项。这是我当前的代码,将数据提交到数据库:

 async Task AddSymptomFeedback(string usersymid, string value)
    {
        symptomFeedback.Usersymptomid = usersymid;
        symptomFeedback.Intensity = value;
        symptomFeedback.UserID = Helpers.Settings.UserKey;
        symptomFeedback.DateTime = DateTime.Now.ToString("dd/MM/yyyy HH:mm");
        symptomFeedback.Datetimelimit = DateTime.Now.AddMinutes(30).ToString("g");
        try
        {
            await symptomFeedbackManager.AddSymptomfeedback(symptomFeedback);
           await DisplayAlert("Feedback Added", "Your symptom feedback has been added", "OK", "Cancel");

            await Navigation.PushAsync(new newviewsymptom());
            Navigation.RemovePage(this);
            HasAdjustedSl1ider = false;
            //We have to null the id so that we are not always updating the existing feedback item
            symptomFeedback.Id = null;
            //Refresh the List View 
            //await GetUserSymptoms();
        }
        catch (Exception ex)
        {
            await DisplayAlert("Error", ex.ToString(), "OK");
        }
    }

这是我的提交按钮背后的代码:

       async void SubmitFeedback_Clicked(object sender, EventArgs e)
    {

         if (rangeSlider == null)
        {
            await DisplayAlert("Add feedback", "Please add feedback for the symptom", "OK");
        }
        else
        {
            await AddSymptomFeedback(rangeSlider.IDValue, rangeSlider.Value.ToString());
        }
    }

您可以传递两个param OkCancel。单击下面的两个按钮

单击两个按钮
var response = await DisplayAlert("Title", "Message", "Ok", "Cancel");
if (response == true) {
//Yes action
} 
else 
{
//No action
}

当OP询问如何使用

async void SubmitFeedback_Clicked(object sender, EventArgs e)
{   
var response = await DisplayAlert("Title", "Message", "Ok", "Cancel");
if (response == true)
{
//Yes action
await AddSymptomFeedback(rangeSlider.IDValue, rangeSlider.Value.ToString());
} 
else 
{
//No action
}
}

最新更新