Newsgroup: it.comp.lang.visual-basic
Titolo: [WPF] Formattazione numeri - Localizzazione.

Ciao a tutti. 
Ho trovato la funzione "StringFormat" da applicare al tag della textbox. 
Poi ho scoperto con somma gioia (...) che segue le regole della lingua predefinita dell'XML (credo), quindi virgola e punto anglosassoni. 
Per convertirla, dopo almeno un'ora di ricerche, ho capito che va impostato nelle proprietà del thread. 
Ho trovato un es. di M.Servienti in C#, che date le mie capacità, non sono stato capace di convertire :( 
 
var cultureName = 
Thread.CurrentThread.CurrentCulture.Name
; 
var xmlLang = XmlLanguage.GetLanguage( cultureName ); 
FrameworkElement.LanguageProperty.OverrideMetadata ( 
typeof( FrameworkElement ), 
new FrameworkPropertyMetadata( xmlLang ) ); 
 
Una volta tradotta in VB, dove va posizionata? Form di avvio o in ogni form dove voglio utilizzarla? 
Grazie in anticipo. 
 
P.S. 
per la netiquette, non lo chiedo direttamente Mauro.

 dove voglio utilizzarla?
 
devi metterla una ed una sola volta il prima possibile, quindi ad 
esempio nel costruttore della classe App, o nell'evento startup.
 
.m
 
-- 
blog @ //
milestone.topics.it
 
 
 

 .m
 
Grazie 1.000 Mauro.
Ho fatto così:
================================================
Imports System.Windows.Markup
Imports System.Threading
 
Class Application
 
    Dim cultureName = 
Thread.CurrentThread.CurrentCulture.Name
 
    Dim xmlLang = XmlLanguage.GetLanguage(cultureName)
    FrameworkElement.LanguageProperty.OverrideMetadata ( typeof( FrameworkElement ))'?????
 
    Dim FMW As New FrameworkPropertyMetadata(xmlLang)
End Class
================================================
Come dovrei scrivere la riga segnalata, in VB?
Grazie ancora Mauro.
 
F.

 Come dovrei scrivere la riga segnalata, in VB?
 
http://msdn.microsoft.com/en-US/library/tay4kywk(v=vs.80).aspx
 


Grazie!

Finalmente ce l'ho fatta!
 
Imports System.Windows.Markup
Imports System.Threading
 
    Public Sub Localizzazione()
 
        Dim cultureName = 
Thread.CurrentThread.CurrentCulture.Name
 
        Dim xmlLang = XmlLanguage.GetLanguage(cultureName)
        FrameworkElement.LanguageProperty.OverrideMetadata(GetType(FrameworkElement), New FrameworkPropertyMetadata(xmlLang))
 
    End Sub
 

Ciao a tutti.
Mi rivolgo a Mauro, dato che mi ha indirizzato lui, ma ovviamente ringrazio chiunque intervenga.
 
Mi sono reso conto che nella cartella dove compilo (sia in debug che in release), vengono create delle cartelle con delle sigle internazionali, con all'interno di ognuna le seguenti DLL:
Microsoft.Expression.Effects.resources.dll.deploy
Microsoft.Expression.Interactions.resources.dll.deploy
System.Windows.Interactivity.resources.dll.deploy
 
Le stesse compaiono anche nella root della cartella principale,  con dimensioni diverse.
Cosa sono e soprattutto cosa devo farci? E' corretto che ci siano e devo conservarle?
Grazie.

 conservarle?
 
Sono le risorse localizzate di ogni assembly che hai citato, contengono 
molto probabilmente i messaggi di errore e i vari pezzi di testo in 
ogni culture supportata.
 
Ovviamente Visual Studio si porta dietro tutto quello che trova ma non 
ï¿œ detto che a te serva tutto, quindi in fase di distribuzione del tuo 
prodotto puoi limitarti a portarti dietro le sole risorse che ti 
interessano, quindi ad esempio se tu supporti solo l'italiano ti basta 
"it-IT" o anche "it" se c'ï¿œ.


 "it-IT" o anche "it" se c'ï¿œ.
Grazie Mauro.