Nata
Norint pasiekti šį puslapį, reikalingas leidimas. Galite pabandyti prisijungti arba pakeisti katalogus.
Norint pasiekti šį puslapį, reikalingas leidimas. Galite pabandyti pakeisti katalogus.
Taikoma: Drobės programėlės
Modeliu pagrįstos programėlės
Perkelia įvesties vietą į tam tikrą valdiklį.
Aprašą
Funkcija SetFocus leidžia valdyti įvesties įvesties vietą. Tada vartotojo klavišų paspaudimus gauna tas valdiklis, leidžiantis jam įvesti Text Input valdiklį arba naudoti klavišą Enter, kad būtų pažymėtas mygtukas. Vartotojas taip pat gali naudoti Tabklavišą, lietimo, pelės arba kitą gestą, kad galėtų perkelti įvesties vietą. Tab klavišo veikimą reguliuoja ypatybė TabIndex.
SetFocus Naudokite funkciją, kad nustatytumėte fokusavimą, kai (kiekvienas su toliau pateiktame pavyzdyje):
- naujai atskleistas arba įjungtas įvesties valdiklis, kad vartotojui būtų suteikta informacija apie tolesnius veiksmus ir būtų greičiau įvesti duomenys.
- forma yra patvirtinta, kad išryškintų ir rodytų pažeidžiantį įvesties valdiklį, skirtą greitai skyrai.
- rodomas ekranas išryškinti pirmos įvesties valdiklį su OnVisibleScreen ypatybe.
Valdiklis su fokusavimu gali vizualiai skirtis, atsižvelgiant į FocusedBorderColorir FocusedBorderThickness savybes.
Apribojimai
SetFocus galima naudoti tik su:
- Mygtukų valdymas
- Piktogramos valdiklis
- Vaizdo valdymas
- Etikečių valdymas
- TextInput valdiklis
Įvesties vietos negalite nustatyti į valdiklius, esančius galerijos valdiklyje, formos valdiklyje arba komponente. SetFocus galima naudoti su valdikliu slenkamame ekrane.
Negalite sufokusuoti valdiklių, kurie yra konteineriovaldiklyje.
Įvesties vietą galite nustatyti tik į valdiklius tame pačiame ekrane kaip ir formulė, kurioje yra skambutis SetFocus .
Bandant nustatyti fokusavimą valdikliui, kurio DisplayModeypatybė nustatyta Disablednebus jokio poveikio. Fokusavimas išliks buvusioje vietoje.
"Apple iOS" programinė klaviatūra bus rodoma automatiškai, tik jei SetFocus buvo inicijuota naudojant tiesioginį vartotojo veiksmą. Pavyzdžiui, iškviečiant mygtuko OnSelectypatybę, bus rodoma švelnioji klaviatūra, tuo tarpu OnVisible ekrane nebus rodomas.
Galite naudoti SetFocus tik veikimo būdo formulėse.
Sintaksė
SetFocus( Valdiklis )
- Kontrolė – būtina. Valdiklis, skirtas suteikti įvesties vietą.
Pavyzdžiai
Fokusuojamas naujai rodomas ir įjungtas įvesties valdiklis
Daugelis pirkinių krepšelių leidžia klientui naudoti siuntimo adresą kaip sąskaitų siuntimo adresą, taip sumažinant poreikį įvesti tą pačią informaciją du kartus. Jei pageidaujamas kitas atsiskaitymo adresas, įjungiami atsiskaitymo adreso teksto įvesties laukeliai, todėl naudinga nukreipti klientą į šiuos naujai įjungtus valdiklius, kad būtų galima greičiau įvesti duomenis.
Čia yra daug veikiančių formulių, tačiau galinčios perkelti fokusavimą ant OnUncheck ypatybės Check box valdiklio:
SetFocus( BillingName )
Tab klavišą taip pat galima naudoti norint greitai perkelti fokusavimą iš vieno lauko į kitą. Norint geriau iliustruoti, klavišas Tabnebuvo naudojamas animacijoje.
Norint sukurti šį pavyzdį:
- Kurti naują programą.
- Įtraukite Labelvaldikliussu tekstu „Siuntimo adresas”, „Pavadinimas:”, „Adresas:”, „Sąskaitų siuntimo adresas”, „Pavadinimas:” ir „Adresas”, bei perkelkite juos taip, kaip pavaizduota animacijoje.
- Įtraukite Text Input valdiklį ir pervardinkite į ShippingName.
- Įtraukite Text Input valdiklį ir pervardinkite į ShippingAddress.
- Įtraukite Check box valdiklį ir pervardykite jį į SyncAddresses.
- Nustatykite šio valdiklio Text ypatybę pagal formulę
"Use Shipping address as Billing address". - Įtraukite Text Input valdiklį ir pervardinkite į BillingName.
- Nustatykite Default ypatybę šiame valdiklyje pagal formulę "
ShippingName”. - Nustatykite DisplayMode ypatybę šiame valdiklyje formulei
If( SyncAddresses.Value, DisplayMode.View, DisplayMode.Edit ). Taip automatiškai įjungsite arba išjungsite šį valdiklį, pagrįstą žymės laukelio valdiklio būsena. - Įtraukite Text Input valdiklį ir pervardinkite į BillingAddress.
- Nustatykite Default ypatybę šiame valdiklyje pagal formulę "
ShippingAddress”. - Nustatykite DisplayMode ypatybę šiame valdiklyje formulei
If( SyncAddresses.Value, DisplayMode.View, DisplayMode.Edit ). Taip automatiškai įjungsite arba išjungsite šį valdiklį, pagrįstą žymės laukelio valdiklio būsena. - Nustatykite žymės laukelio Default ypatybę pagal formulę
true. Tai nustatys sąskaitų siuntimo adresą naudoti tą pačią numatytąją vertę kaip ir siuntimo adreso. - Nustatykite žymės laukelio OnCheck ypatybę pagal formulę
Reset( BillingName ); Reset( BillingAddress )Jei vartotojas pasirenka sinchronizuoti siuntimo ir sąskaitų siuntimo adresus, tokiu būdu bus išvalyta bet kuri vartotojo įvestis sąskaitų siuntimo adreso laukuose, tokiu būdu Default ypatybės ištrauks kiekvienam vertes iš atitinkamų sąskaitų siuntimo adreso laukų. - Nustatykite žymės laukelio OnUncheck ypatybę pagal formulę
SetFocus( BillingName ). Jei vartotojas pasirenka nurodyti kitą sąskaitų siuntimo adresą, tai perkels fokusavimą į pirmą valdiklį sąskaitų siuntimo adrese. Valdikliai jau bus įjungti dėl jų DisplayMode ypatybių.
Dėmesys tikrinimo problemoms
Pastaba.
Nors atrodo, kad šis pavyzdys yra formos redagavimo valdiklis, šis valdiklis, deja SetFocus , dar nepalaiko. Vietoj to šis pavyzdys naudoja slenkamą ekraną, skirtą įvesties valdikliams saugoti.
Kai tvirtinate formą, gali būti naudinga ne tik rodyti pranešimą, jei yra problema, bet ir nukreipti vartotoją į netinkamą lauką. Tai gali būti ypač naudinga, jei svarstomas laukas yra išslinktas iš ekrano ir nematomas.
Šioje animacijoje tikrinimo mygtukas yra nuolat spaudžiamas, kol visi laukai užpildomi tinkamai. Atminkite, kad pelės žymiklis nejuda žemyn iš ekrano viršaus. Vietoj to SetFocus funkcija perkėlė įvesties įvesties įvesties vietą į valdiklį, į kurį reikia atkreipti dėmesį naudojant šią formulę:
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 )
)
Norint sukurti šį pavyzdį:
- Sukurkite naują tuščią telefono programėlę
- Iš Insert meniu pasirinkiteNew screen ir tada pasirinkite Scrollable.
- Ekrano centrinėje sekcijoje įtraukite Text Input valdiklius ir pavadinkite juos Name, Street1, Street2, City, CountyStateProvincePostalCodeir Phone. Įtraukite Label valdiklius virš kiekvieno iš jų, kad atskirtumėte laukus. Jei nepakanka vietos sutalpinti visus valdiklius, gali prireikti keisti sekcijos dydį.
- Įterpkite varnelę Icon valdiklisekrano viršuje, virš slinkties sekcijos.
- Nustatykite piktogramos valdiklio OnSelect ypatybę pagal formulę
If( IsBlank( ...„jei( Tuščia( ...”, kaip nurodyta aukščiau.
Fokusavimas rodant ekraną
Pastaba.
Nors atrodo, kad šis pavyzdys yra formos redagavimo valdiklis, šis valdiklis, deja SetFocus , dar nepalaiko. Vietoj to šis pavyzdys naudoja slenkamą ekraną, skirtą įvesties valdikliams saugoti.
Panašiai kaip rodant įvesties valdiklį, kai rodomas duomenų įvesties ekranas, naudinga fokusuoti pirmą įvesties valdiklį, kad būtų greičiau įvesti duomenys.
Šioje animacijoje kairėje esantis duomenų įvedimo ekranas nenaudoja SetFocus. Ekrane pasirodžius fokusavimo neturinčiam įvesties valdikliui, reikalaujančiam, kad vartotojas bakstelėtų, paliestų, pele pasirinktų ar kitomis priemonėmis sufokusuotų Namelauką prieš į jį įvedant vertę.
Dešinėje pusėje turime tą pačią programą su OnVisibleduomenų įvesties ekrano ypatybe, kad nustatytume pagal šią formulę:
SetFocus( Name )
Tai automatiškai nustato fokusavimą ant Name lauko. Vartotojas gali pradėti rinkti tekstą ir judėti tarp laukų iš karto, o ne imtis išankstinių veiksmų.
Norint sukurti šį pavyzdį:
- Sukurkite aukščiau „Sutelkti dėmesį į tikrinimo problemas" programą.
- Šiame ekrane nustatykite OnVisible ypatybę pagal formulę
SetFocus( Name ). - Įtraukite antrą ekraną.
- Įtraukite Button valdiklį.
- Nustatykite šio valdiklio OnSelect ypatybę pagal formulę
Navigate( Screen1 ). - Peržiūrėkite programą iš šio ekrano. Paspauskite mygtuką. OnVisibleformulė ir Name laukas bus automatiškai sufokusuoti.