Size: a a a

Xamarin Developers

2020 September 08

АИ

Аля Ильина in Xamarin Developers
Ойбек
if(entry.Text.Contains('@')){
   string x = entry.Text;
   string y="";
   for(int i=0; i<x.length();i++){
       if(x[i]!='@') y+=x[i];
   }
   entry.Text=y;
}
ну по факту у меня то же, но через регулярки
но проблема в том что этот код вызывается дважды
источник

AP

Aanatoly P. in Xamarin Developers
Ойбек
Используй статический класс с полем, и при Init проверка на поле Авторизован или нет
Статический класс для чего? Хотелось бы авторизовать пользователя до того, как переходить к защищенной странице
источник

О

Ойбек in Xamarin Developers
Aanatoly P.
Статический класс для чего? Хотелось бы авторизовать пользователя до того, как переходить к защищенной странице
Статический класс Check_Auth
Если пользователь авторизуется то поле authed=1;
если нет то authed стандартно равна нулю.
а при страничке куда нельзя НЕавторизованным проверка при загрузке, значение Check_Auth.authed==1
источник

AP

Aanatoly P. in Xamarin Developers
Аля Ильина
ну по факту у меня то же, но через регулярки
но проблема в том что этот код вызывается дважды
((Entry)sender).Text = args.OldValue -- чтобы дважды не вызывался, можно здесь присвоить не Text а приватное поле (_text, наверное)
источник

АИ

Аля Ильина in Xamarin Developers
Aanatoly P.
((Entry)sender).Text = args.OldValue -- чтобы дважды не вызывался, можно здесь присвоить не Text а приватное поле (_text, наверное)
не совсем понял
источник

АИ

Аля Ильина in Xamarin Developers
в целом у меня это происходит +- так: if(!Regex.IsMatch(text, pattern))
{
  ((Entry)sender).Text = args.OldValue;
}
источник

AP

Aanatoly P. in Xamarin Developers
Ойбек
Статический класс Check_Auth
Если пользователь авторизуется то поле authed=1;
если нет то authed стандартно равна нулю.
а при страничке куда нельзя НЕавторизованным проверка при загрузке, значение Check_Auth.authed==1
ну вот вопрос как раз в том, как не переходя к странице это сделать можно? можно ли в Призм где-то перехватывать урл на какую страницу собирается пользователь перейти и перенаправить его на авторизцию?
источник

О

Ойбек in Xamarin Developers
Navigated, такое метод был
источник

О

Ойбек in Xamarin Developers
проверяет на предыдущей страничке
источник

О

Ойбек in Xamarin Developers
или Navigating
источник

AP

Aanatoly P. in Xamarin Developers
Аля Ильина
в целом у меня это происходит +- так: if(!Regex.IsMatch(text, pattern))
{
  ((Entry)sender).Text = args.OldValue;
}
когда вы вызываете ((Entry)sender).Text = args.OldValue; вызывается событие, что проперти Text обновилось, и проверка осуществляется снова. Если обновить непосредственно backing field этого Text, то это событие вызвано не будет.
источник

A

Artemko in Xamarin Developers
А как передать в событие кнопки какуе-то инфу , например string ? в xaml конечно
источник

A

Artemko in Xamarin Developers
источник

АИ

Аля Ильина in Xamarin Developers
Aanatoly P.
когда вы вызываете ((Entry)sender).Text = args.OldValue; вызывается событие, что проперти Text обновилось, и проверка осуществляется снова. Если обновить непосредственно backing field этого Text, то это событие вызвано не будет.
ну да, но поле ведь приватное, нет?)
как мне его обновить?
источник

АИ

Аля Ильина in Xamarin Developers
для это надо устанавливать аттрибут Command и передавать параметр через аттрибут CommandParameter
источник

AP

Aanatoly P. in Xamarin Developers
Ойбек
Navigated, такое метод был
та да, есть там INavigationAware, но там только INavigationParameters, а на какую страницу уходит -- как узнать?
источник

A

Artemko in Xamarin Developers
Аля Ильина
для это надо устанавливать аттрибут Command и передавать параметр через аттрибут CommandParameter
Ага , спасибо
источник

AP

Aanatoly P. in Xamarin Developers
Аля Ильина
ну да, но поле ведь приватное, нет?)
как мне его обновить?
Значит нужно создать или еще одно публичное проперти, или метод, чтоб обновлять это поле, но не вызывать нотификацию, что оно обновлялось
источник

АИ

Аля Ильина in Xamarin Developers
Aanatoly P.
Значит нужно создать или еще одно публичное проперти, или метод, чтоб обновлять это поле, но не вызывать нотификацию, что оно обновлялось
не очень понимаю

доступ к приватному полю закрыт
оно же даже не protected чтобы получить к нему доступ из кастомного контрола
источник

О

Ойбек in Xamarin Developers
Aanatoly P.
та да, есть там INavigationAware, но там только INavigationParameters, а на какую страницу уходит -- как узнать?
MS doc
вот тут в поля
источник