|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Apr 2009
Città: Aci Catena (CT)
Messaggi: 1021
|
[WPF] TextBlock: impostare la lunghezza del numero in "StringFormat"
Ciao,
sto formattando il TextBlock con: Codice:
<TextBlock Text="{Binding Value, StringFormat='\{0,0\}%'}"/>
Con questo formato stringa, l'utente può scrivere 9999999999%, e non va bene! La parte intera deve essere massimo di 2 numeri, mentre la decimale non è vincolante... Grazie. |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Jul 2005
Città: Vicenza
Messaggi: 1570
|
Ciao Robertino, qui non si tratta di formattazione del textbox, quanto di validazione dell'input. Nel controllo che usi per inserire il dato, o da qualunque sorgente esso arrivi, dovrai eseguire un controllo sul valore immesso, validarlo per verificare che sia entro i limiti previsti e quindi reagire di conseguenza (per esempio se il valore inserito sfora il massimo potresti impostarlo automaticamente al massimo, o puoi usare qualsiasi logica di controllo tu preferisca in base alla tua situazione).
|
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Apr 2009
Città: Aci Catena (CT)
Messaggi: 1021
|
Forse potrei provare con un converter....
|
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Jul 2005
Città: Vicenza
Messaggi: 1570
|
Un converter non valida il dato, lo trasforma e basta. Se permetti all'utente di inserire un dato che non è convalidato ed è al di fuori del range previsto ti ritroverai con un modello dati inconsistente. quel valore immesso andrai pure ad utilizzarlo da qualche parte (leggi, il tuo codice da qualche parte andrà pure ad elaborarlo), quindi se ti ritrovi ad elaborare un valore di 9999, quando il massimo previsto è per esempio 99, capisci che qualcosa non torna.
|
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: Apr 2009
Città: Aci Catena (CT)
Messaggi: 1021
|
Hai ragione, il Convert eseguo solo un validazione fittizia.
Ho inserito un controllo diretto all'invio di tale informazioni. Grazie sempre! |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 21:18.




















