4
我目前面臨以下問題:在Xamarin頁自定義事件C#
我想,當用戶輸入有效憑據才能觸發一個事件,這樣我可以切換網頁等。
問題是我因爲某種原因無法掛鉤事件(雖然我非常肯定它會是一些愚蠢的事情)。
的類觸發事件:
namespace B2B
{
public partial class LoginPage : ContentPage
{
public event EventHandler OnAuthenticated;
public LoginPage()
{
InitializeComponent();
}
void onLogInClicked (object sender, EventArgs e)
{
loginActivity.IsRunning = true;
errorLabel.Text = "";
RestClient client = new RestClient ("http://url.be/api/");
var request = new RestRequest ("api/login_check", Method.POST);
request.AddParameter("_username", usernameText.Text);
request.AddParameter("_password", passwordText.Text);
client.ExecuteAsync<Account>(request, response => {
Device.BeginInvokeOnMainThread (() => {
loginActivity.IsRunning = false;
if(response.StatusCode == HttpStatusCode.OK)
{
if(OnAuthenticated != null)
{
OnAuthenticated(this, new EventArgs());
}
}
else if(response.StatusCode == HttpStatusCode.Unauthorized)
{
errorLabel.Text = "Invalid Credentials";
}
});
});
}
}
}
,並在 '主類'
namespace B2B
{
public class App : Application
{
public App()
{
// The root page of your application
MainPage = new LoginPage();
MainPage.OnAuthenticated += new EventHandler (Authenticated);
}
static void Authenticated(object source, EventArgs e) {
Console.WriteLine("Authed");
}
}
}
當我嘗試建立我得到的應用:
類型「Xamarin。 Forms.Page'不包含'OnAuthenticated'的定義,並且沒有擴展方法OnAuthenticated
我已經嘗試在LoginPage類中添加一個委託,但它沒有幫助。
任何人都可以如此友好地指出我什麼愚蠢我正在犯的錯誤?
非常感謝!雖然綁定MainPage - > LoginPage MainPage = new LoginPage();發出抱怨根視圖控制器的錯誤。 – RVandersteen
我看到你編輯了你的awser,完全像這樣。再次感謝 – RVandersteen