Belešku
Pristup ovoj stranici zahteva autorizaciju. Možete pokušati da se prijavite ili da promenite direktorijume.
Pristup ovoj stranici zahteva autorizaciju. Možete pokušati da promenite direktorijume.
Odnosi se na: Aplikacije platna koje potiče
od modela
Premešta ulazni fokus na određenu kontrolu.
Opis
Funkcija SetFocus kontroli daje fokus unosa. Tada kontrola prima korisničke pritiske tastera i omogućava mu da upiše kontrolu unosa teksta ili da koristi taster Enter za izbor dugmeta. Korisnik takođe može da koristi taster Tab, dodir, miš ili drugi gest da biste sam pomerio ulazni fokus. Ponašanje tastera Tab reguliše osobina TabIndex.
Koristite funkciju SetFocus da biste postavili fokus kada (svaki sa dolenavedenim primerom):
- nova izložena ili omogućena kontrola unosa, koja će voditi korisnika ka onome šta sledi i za brži unos podataka.
- obrazac je potvrđen, za fokusiranje i prikazivanje uvredljive kontrole unosa za brzo rešavanje.
- prikazuje se ekran za fokusiranje prve kontrole unosa sa svojstvom OnVisible na Ekranu.
Kontrola sa fokusom se može vizuelno razlikovati na osnovu svojstva FocusedBorderColor i FocusedBorderThickness.
Ograničenja
SetFocus može da se koristi samo sa:
Ne možete podesiti fokus na kontrole koje su unutar kontrole Galerija , Uređivanje forme kontrole ili Komponente. SetFocus može da se koristi sa kontrolom na ekranu koji može da se pomera.
Ne možete postaviti fokus na kontrole koje su unutar kontrole Kontejner.
Fokus možete da postavite samo na kontrole na istom ekranu kao formula koja sadrži SetFocus poziv.
Pokušaj da se fokus postavi na kontrolu koja ima svoje svojstvo DisplayMode postavljeno na Onemogućeno nema efekta. Fokus će ostati tamo gde je ranije bio.
U operativnom sistemu Apple iOS, softverska tastatura će se automatski prikazati samo ako SetFocus je pokrenuta radnjom direktnog korisnika. Na primer, pozivanje sa svojstva dugmeta OnSelect će prikazati softversku tastaturu dok pozivanje sa ekrana OnVisible neće.
Možete da koristite samo SetFocus u formulama ponašanja.
Sintaksa
SetFocus( Kontrola )
- Kontrola – Obavezno. Kontrola za davanje ulaznog fokusa.
Primeri
Fokusirajte se na novu izloženu ili omogućenu ulaznu kontrolu
Mnoge korpe za kupovinu omogućavaju klijentu da adresu za dostavu koristi kao adresu za naplatu, ublažavajući potrebu da se dvaput unose isti podaci. Ako se želi druga adresa za naplatu, tekstualna polja za unos adrese za naplatu su omogućena, i korisno je voditi kupca na ove novo omogućene kontrole za brži unos podataka.
Ovde igraju mnoge formule, ali ona koja pomera fokus je svojstvo OnUncheck kontrole Polje za potvrdu:
SetFocus( BillingName )
Taster Tab se takođe može koristiti za brzo premeštanje fokusa iz jednog polja u drugo. Za bolju ilustraciju, taster Tab nije korišćen u animaciji.
Da biste kreirali ovaj primer:
- Kreirajte novu aplikaciju.
- Dodajte kontrole Oznaka sa tekstom "Adresa za dostavu", "Ime:", "Adresa:", "Adresa za naplatu", "Ime:" i "Adresa:" i postavite ih kao što je prikazano u animaciji.
- Dodajte kontrolu Unos teksta i preimenujte je u ShippingName.
- Dodajte kontrolu Unos teksta i preimenujte je u ShippingAddress.
- Dodajte kontrolu Polje za potvrdu i preimenujte je u SyncAddresses.
- Podesite svojstvo Text ove kontrole na formulu
"Use Shipping address as Billing address". - Dodajte kontrolu Unos teksta i preimenujte je u BillingName.
- Podesite svojstvo Default za ovu kontrolu na formulu
ShippingName. - Podesite svojstvo DisplayMode za ovu kontrolu na formulu
If( SyncAddresses.Value, DisplayMode.View, DisplayMode.Edit ). Ovo će automatski omogućiti ili onemogućiti ovu kontrolu na osnovu stanja kontrole u polju za potvrdu. - Dodajte kontrolu Unos teksta i preimenujte je u BillingAddress.
- Podesite svojstvo Default za ovu kontrolu na formulu
ShippingAddress. - Podesite svojstvo DisplayMode za ovu kontrolu na formulu
If( SyncAddresses.Value, DisplayMode.View, DisplayMode.Edit ). Ovo će automatski omogućiti ili onemogućiti ovu kontrolu na osnovu stanja kontrole u polju za potvrdu. - Podesite svojstvo Default polja za potvrdu na formulu
true. Ovo će podrazumevano obračunati adresu za korišćenje iste vrednosti kao i adresa za dostavu. - Podesite svojstvo OnCheck polja za potvrdu na formulu
Reset( BillingName ); Reset( BillingAddress ). Ako korisnik odluči da sinhronizuje adrese za dostavu i naplatu, to će obrisati svaki korisnički unos u poljima Adresa za naplatu omogućavajući svojstva Default na svakom svojstvu da bi se izvukle vrednosti iz odgovarajućih polja sa adresom za dostavu. - Podesite svojstvo OnUncheck polja za potvrdu na formulu
SetFocus( BillingName ). Ako korisnik odabere drugu adresu za obračun, fokus će se pomeriti na prvu kontrolu u adresi za naplatu. Kontrole će već biti omogućene zbog njihovih svojstava DisplayMode.
Fokusiranje na pitanja validacije
Belešku
Iako izgleda da ovaj primer predstavlja kontrolu uređivanja obrasca, SetFocus ta kontrola još uvek nije podržana. Umesto toga, ovaj primer koristi ekran za pomeranje za hostovanje ulaznih kontrola.
Pri potvrdi obrasca može vam biti korisno ne samo prikazivanje poruke ako postoji problem, već i odvođenje korisnika u polje koje je uvredljivo. To može biti posebno korisno ako se dotično polje pomera sa ekrana i nije vidljivo.
U ovoj animaciji dugme za potvrdu se više puta pritiska dok se sva polja pravilno ne popune. Imajte na umu da se pokazivač miša ne pomera nadole sa vrha ekrana. Umesto toga SetFocus , funkcija je premestila fokus unosa na kontrolu koja zahteva pažnju sa ovom formulom:
If( IsBlank( Name ),
Notify( "Name requires a value", Error ); SetFocus( Name ),
IsBlank( Street1 ),
Notify( "Street Address 1 requires a value", Error ); SetFocus( Street1 ),
IsBlank( Street2 ),
Notify( "Street Address 2 requires a value", Error ); SetFocus( Street2 ),
IsBlank( City ),
Notify( "City requires a value", Error ); SetFocus( City ),
IsBlank( County ),
Notify( "County requires a value", Error ); SetFocus( County ),
IsBlank( StateProvince ),
Notify( "State or Province requires a value", Error ); SetFocus( StateProvince ),
IsBlank( PostalCode ),
Notify( "Postal Code requires a value", Error ); SetFocus( PostalCode ),
IsBlank( Phone ),
Notify( "Contact Phone requires a value", Error ); SetFocus( Phone ),
Notify( "Form is Complete", Success )
)
Da biste kreirali ovaj primer:
- Kreirajte novu, praznu aplikaciju za telefon.
- U meniju Umetanje izaberite Novi ekran, a zatim izaberite Može da se povlači.
- U središnjem delu ekrana dodajte kontrole Unos teksta imenujte ih kao Ime, Ulica1, Ulica2, Grad, Okrug, Država/pokrajina, Poštanski broj i Telefon. Dodajte kontrole Oznaka iznad svake od njih za prepoznavanje polja. Možda ćete morati da promenite veličinu odeljka ako nije dovoljno dug da stane na sve kontrole.
- Dodajte znak za potvrdu kontrole Ikona u vrhu ekrana, iznad odeljka koji može da se pomera.
- Podesite svojstvo OnSelect kontrole ikone prema gorenavedenoj formuli
If( IsBlank( ....
Fokus kod prikaza ekrana
Belešku
Iako izgleda da ovaj primer predstavlja kontrolu uređivanja obrasca, SetFocus ta kontrola još uvek nije podržana. Umesto toga, ovaj primer koristi ekran za pomeranje za hostovanje ulaznih kontrola.
Slično kao kod izlaganja ulazne kontrole, prilikom prikazivanja ekrana za unos podataka korisno je fokusirati prvu kontrolu ulaza za brži unos podataka.
U ovoj animaciji ekran za unos podataka sa leve strane ne koristi SetFocus. Kada se prikaže da nijedna kontrola nosa nema fokus, i od korisnika se traži da fokusira polje Ime pomoću tabulatora, dodira, miša ili drugog načina, pre nego što se u njega može uneti vrednost.
Na desnoj strani imamo potpuno istu aplikaciju sa svojstvom OnVisible ekrana za unos podataka postavljenim prema ovoj formuli:
SetFocus( Name )
Ovo postavlja fokus na polje Ime automatski. Korisnik može odmah početi da unosi i da se pomera između polja pomoću tabulatora, bez prethodne radnje.
Da biste kreirali ovaj primer:
- Napravite gornju aplikaciju „Fokusiranje na pitanja validacije“.
- Na ovom ekranu, podesite svojstvo OnVisible za ovu kontrolu na formulu
SetFocus( Name ). - Dodavanje drugog ekrana.
- Dodajte kontrolu Dugme.
- Podesite svojstvo OnSelect ove kontrole na formulu
Navigate( Screen1 ). - Pregledajte aplikaciju sa ovog ekrana. Pritisnite dugme. Formula OnVisible će biti izračunata i polje Ime će automatski biti u fokusu.