Можете ориентироваться в Xamarin кросс-приложения цех изготовления печатных форм
Я работаю в Xamarin cross plateform application, и новый в этом домене, должен бороться с логином страницы, и главная страница, после нажатия на логин пользователь должен перенаправить на главную страницу. вот код.
Проблема заключается в том, что при нажатии кнопки входа в систему и отладке кода происходит его сквозное исключение,
только исходный поток, создавший иерархию представлений, может касаться своих представлений
сделал гугл, но ни одно решение не оказалось плодотворным.
Что я уже пробовал:
App.cs public App() { InitializeComponent(); MainPage = new NavigationPage(new Login()); } Login.cs async void _client_ValidateUserCompleted(object sender, FypWcf.ValidateUserCompletedEventArgs e) { try { if (e.Result == true) { await Navigation.PushAsync(new MainForm()); } else { await DisplayAlert("Oops", "Credentials are incorrect", "Cancel"); } } catch (Exception ex) { await DisplayAlert(ex.Message, "Credentials are incorrect", "Cancel"); } } private void Button_Clicked_1(object sender, EventArgs e) { try { var endpoint = new EndpointAddress("http://192.168.43.101/FYP_Admin/webservices/cmsservice.svc"); var binding = new BasicHttpBinding { Name = "basicHttpBinding", MaxBufferSize = 2147483647, MaxReceivedMessageSize = 2147483647 }; TimeSpan timeout = new TimeSpan(0, 0, 30); binding.SendTimeout = timeout; binding.OpenTimeout = timeout; binding.ReceiveTimeout = timeout; _client = new FypWcf.CMSServiceClient(binding, endpoint); string username = usernameEntry.Text.Trim(); string password = passwordEntry.Text.Trim(); _client.ValidateUserAsync(username, password); _client.ValidateUserCompleted += _client_ValidateUserCompleted; } catch (Exception ex) { DisplayAlert(ex.Message, "Credentials are incorrect", "Cancel"); } }