Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Számok megjelenítésére és szerkesztésére használható vezérlőt jelöl. Ez támogatja az alapegyenletek, például a szorzás, az osztás, az összeadás és a kivonás beágyazott számításainak érvényesítését, lépésenkénti növelését és számítását.
Ez a megfelelő vezérlő?
A Számmező vezérlőelem használatával matematikai bemeneteket rögzíthet és jeleníthet meg. Ha olyan szerkeszthető szövegdobozra van szüksége, amely több értéket fogad el, használja a Szövegdoboz vezérlőelemet. Ha olyan szerkeszthető szövegdobozra van szüksége, amely jelszavakat vagy más bizalmas bemeneteket fogad el, tekintse meg PasswordBoxcímű témakört. Ha egy szövegmezőre van szüksége a keresési kifejezések megadásához, tekintse meg AutoSuggestBoxcímű témakört. Ha formázott szöveget kell beírnia vagy szerkesztenie, olvassa el RichEditBoxcímű témakört.
Recommendations
-
TextésValuemegkönnyíti a Számmezők értékének sztringként vagy kettősként való rögzítését anélkül, hogy az értéket típusok között kellene konvertálnia. A NumberBox értékének programozott módosításakor ajánlott ezt aValuetulajdonságon keresztül végrehajtani.ValuefelülírjaTexta kezdeti beállítás során. A kezdeti beállítás után az egyik módosításait a rendszer propagálja a másikra, de a programozott módosítások következetes végrehajtása aValuehasználatával segít elkerülni azokat a fogalmi félreértéseket, amelyek azt feltételezik, hogy a NumberBox nem numerikus karaktereket is elfogadna aTextrévén. - A
HeadervagyPlaceholderTexthasználatával tájékoztassa a felhasználókat, hogy a NumberBox csak numerikus karaktereket fogad bemenetként. A számok betűs ábrázolása, például az "egy", nem fog elfogadott értéket képviselni.
NumberBox létrehozása
- Fontos API-k:NumberBox osztály
![]()
A WinUI 3 Katalógus alkalmazás interaktív példákat tartalmaz a WinUI vezérlőire és funkcióira. Kérje le az alkalmazást a Microsoft Áruházból vagy keresse meg a forráskódot a GitHub webhelyen.
Íme egy alapszintű NumberBox XAML-értéke, amely az alapértelmezett megjelenést mutatja be. A x:Bind használatával győződjön meg arról, hogy a felhasználó számára megjelenített adatok szinkronban maradnak az alkalmazásban tárolt adatokkal.
<NumberBox Value="{x:Bind Path=ViewModel.NumberBoxValue, Mode=TwoWay}" />
Számozási mező címkézése
Használjon Header vagy PlaceholderText, ha a NumberBox célja nem egyértelmű. A Header látható, függetlenül attól, hogy a Számmező rendelkezik-e értékkel.
<NumberBox Header="Enter a number:"
Value="{x:Bind Path=ViewModel.NumberBoxValue, Mode=TwoWay}" />
A PlaceholderText a számmezőben jelenik meg, és csak akkor tűnik fel, ha a ValueNaN-re van állítva, vagy ha a felhasználó törli a bemenetet.
<NumberBox PlaceholderText="1+2^2"
Value="{x:Bind Path=ViewModel.NumberBoxValue, Mode=TwoWay}" />
Számítási támogatás engedélyezése
A AcceptsExpression tulajdonság igaz értékre állítása lehetővé teszi, hogy a NumberBox szabványos műveleti sorrendben értékelje ki az olyan alapszintű beágyazott kifejezéseket, mint a szorzás, az osztás, az összeadás és a kivonás. A kiértékelés fókuszvesztéskor vagy az "Enter" billentyű lenyomásakor aktiválódik. A kifejezés kiértékelése után a kifejezés eredeti formája nem marad meg.
<NumberBox Value="{x:Bind Path=ViewModel.NumberBoxValue, Mode=TwoWay}"
AcceptsExpression="True" />
Növekvő és csökkenő lépések
A SmallChange tulajdonság használatával konfigurálhatja, hogy a Számmezőn belüli érték mennyiben változik, ha a NumberBox a fókuszban van, és a felhasználó:
- tekercsek
- lenyomja a felfelé mutató nyílbillentyűt
- nyomja le a lefelé mutató nyílbillentyűt
A LargeChange tulajdonság használatával konfigurálhatja, hogy a Számmezőn belüli érték mennyiben változik, amikor a NumberBox a fókuszban van, és a felhasználó lenyomja a PageUp vagy a PageDown billentyűt.
A SpinButtonPlacementMode tulajdonság használatával engedélyezheti azokat a gombokat, amelyekre kattintva növelhető vagy csökkenthető a Számmező értéke a SmallChange tulajdonság által megadott összeggel. Ezek a gombok le lesznek tiltva, ha egy maximális vagy minimális értéket egy másik lépéssel lépne túl.
Állítsa a SpinButtonPlacementModeInline értékre, hogy a gombok megjelenjenek a vezérlő mellett.
<NumberBox Value="{x:Bind Path=ViewModel.NumberBoxValue, Mode=TwoWay}"
SmallChange="10"
LargeChange="100"
SpinButtonPlacementMode="Inline" />
Állítsa be a SpinButtonPlacementMode-t a Compact-re, hogy a gombok csak akkor jelenjenek meg úszó panelként, amikor a NumberBox van a fókuszban.
<NumberBox Value="{x:Bind Path=ViewModel.NumberBoxValue, Mode=TwoWay}"
SmallChange="10"
LargeChange="100"
SpinButtonPlacementMode="Compact" />
Bemeneti ellenőrzés engedélyezése
Ha a ValidationModeInvalidInputOverwritten értékre állítja, a NumberBox felülírja az érvénytelen, nem numerikus vagy jogilag képletes bemenetet az utolsó érvényes értékkel, amikor a kiértékelés fókuszvesztéskor vagy az "Enter" billentyű lenyomásával aktiválódik.
<NumberBox Header="Quantity"
Value="{x:Bind Path=ViewModel.NumberBoxValue, Mode=TwoWay}"
ValidationMode="InvalidInputOverwritten" />
A ValidationModeDisabled beállítása lehetővé teszi az egyéni beviteli ellenőrzés konfigurálását.
A tizedespontok és a vesszők illetően a felhasználó által használt formázást a NumberBoxhoz konfigurált formázás váltja fel. Nem fog bekövetkezni bemeneti érvényesítési hiba.
Formázási bemenet
Számformázási a NumberBox értékének formázására használható egy formázási osztály egy példányának konfigurálásával és a NumberFormatter tulajdonsághoz való hozzárendelésével. A decimális, a pénznem, a százalék és a jelentős számjegyek néhány a rendelkezésre álló számformázási osztályok közül. Vegye figyelembe, hogy a kerekítést számformázási tulajdonságok is definiálják.
Íme egy példa arra, hogy a DecimalFormatter használatával formázza a NumberBox értékét úgy, hogy egy egész szám, két tört számjegy legyen, és kerekítsen fel a legközelebbi 0,25-ös értékre:
<NumberBox x:Name="FormattedNumberBox"
Value="{x:Bind Path=ViewModel.NumberBoxValue, Mode=TwoWay}" />
private void SetNumberBoxNumberFormatter()
{
IncrementNumberRounder rounder = new IncrementNumberRounder();
rounder.Increment = 0.25;
rounder.RoundingAlgorithm = RoundingAlgorithm.RoundUp;
DecimalFormatter formatter = new DecimalFormatter();
formatter.IntegerDigits = 1;
formatter.FractionDigits = 2;
formatter.NumberRounder = rounder;
FormattedNumberBox.NumberFormatter = formatter;
}
A tizedespontok és a vesszők illetően a felhasználó által használt formázást a NumberBoxhoz konfigurált formázás váltja fel. Nem fog bekövetkezni bemeneti érvényesítési hiba.
Megjegyzések
Bemeneti hatókör
Number a bemeneti hatókörhasználatához lesz alkalmazva. Ez a bemeneti hatókör a 0–9. számjegyek használatának céljára szolgál. Ez felülírható, de az alternatív InputScope-típusok nem támogatottak explicit módon.
Nem szám
Amikor egy Számmező tartalmát törlik, a Value a NaN értékre lesz állítva, hogy jelezze, nincs számérték jelen.
Kifejezés kiértékelése
A NumberBox a kifejezések kiértékeléséhez az infix jelölést használja. Az elsőbbségi sorrendben az engedélyezett operátorok a következők:
- ^
- */
- +-
Vegye figyelembe, hogy zárójelek használhatók az elsőbbségi szabályok felülbírálásához.
Windows developer