Sajid227 Ответов: 1

Можете ориентироваться в 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");
}
}

1 Ответов

Рейтинг:
12

Member 12967177

(

await Navigation.PushAsync(new MainForm());
) Удалить дождаться и попробовать