เมื่อคราว Silverlight 1 ออกมา เราก็ใช้ภาษาไทยกับ Silverlight ได้แบบพอถูไถกันไป พอคราว Silverlight 2 Beta 2 ออกมา ทาง GreatFriends ก็ได้แสดงวิธีการใช้งานภาษาไทยใน Silverligh 2 Beta 2 ไปแล้ว คราวนี้เมื่อตัวจริงออกมาเราก็จะมาดูว่าภาษาไทยได้รับการปรับปรุงไปขนาดไหนแล้ว โดยในครั้งนี้เราจะใช้แค่เพียง Expression Blend 2 Service Pack 1 เท่านั้น ถ้ายังไม่มีสามารถดาวน์โหลดได้ที่ http://silverlight.net/GetStarted/
หลังจากเปิด Blend ขึ้นมาแล้วก็ลองสร้างโปรเจคใหม่ชื่อ ThaiLang
สร้าง TextBox และ TextBlock ขึ้นมาอย่างละอัน ใครขี้เกียจจะใช้ XAML ข้างล่าง
<Grid x:Name="LayoutRoot" Background="#FFBDBDBD">
<Grid.RowDefinitions>
<RowDefinition/>
<RowDefinition/>
</Grid.RowDefinitions>
<TextBlock Text="TextBlock" TextWrapping="Wrap" Margin="50,10,50,10" Grid.Row="0"/>
<TextBox HorizontalAlignment="Stretch" Margin="50,10,50,10" Width="Auto" Grid.Row="1" Text="TextBox" TextWrapping="Wrap"/>
</Grid>
ทีนี้ถ้าเราลองใส่ข้อความภาษาไทยลงไป
๏ เป็นมนุษย์สุดประเสริฐเลิศคุณค่า
กว่าบรรดาฝูงสัตว์เดรัจฉาน
จงฟันฝ่าพัฒนาวิชาการ
อย่าล้างผลาญฤๅเข่นฆ่าบีฑาใคร
ไม่ถือโทษโกรธแช่งซัดฮึดฮัดด่า
หัดอภัยเหมือนกีฬาอัชฌาสัย
ปฏิบัติประพฤติกฎกําหนดใจ
พูดจาให้จ๊ะๆ จ๋าๆ น่าฟั งเอยฯ
พ่อปู่พี่ปี่ฎฐุญุกิสมิํธมฺมํเกื็อกป่า
๐๑๒๓๔๕๖๗๘๙ กกๆ ๚ะ๛
A QUICK BROWN FOX JUMPS OVER THE LAZY DOG.
a quick brown fox jumps over the lazy dog.
0123456789
เละครับเละ
เพราะว่าฟอนท์ตั้งต้นที่ติดมากับ Silverlight ที่ชื่อ Portable User Interface ไม่สามารถแสดงภาษาไทยได้ก็เลยกลายเป็นสี่เหลี่ยมๆไปหมด แต่ถ้าฟอนท์แสดงภาษาไทยได้ก็สบายเรา
งั้นก็ลองปรับให้ใช้ฟอนท์ที่รองรับภาษาไทยอย่าง Tahoma ดูซิ
เป็นภาษาไทยแล้วล่ะ แต่ Blend จะขึ้นข้อความมาเตือนอะไรบางอย่าง
The font, Tahoma, isn't a built-in silverlight font. You must embed this font for it to display on your Silverlight Application
เมื่อเราติ๊กคำว่า Embed ในแท็บ Properties แล้วข้อความเมื่อกี้ก็หายไป
แต่เราจะได้สิ่งนี้มาแทน
ถ้าเราขยับๆ จะเห็น Silverlight 2.0 รองรับการตัดคำภาษาไทยแล้ว เย่
แต่ก็มาตกม้าตายตอนท้ายเพราะว่าพอลองใช้ TextBox ว่าพอกดปุ่มสระปุ๊บก็เละครับ Silverlight Object หายไปเลย ทางแก้ง่ายมาก ก็อย่าเพิ่งใช้ Silverlight กับงานที่ต้องกรอกข้อมูลหรือไม่ก็ใช้วิธีเดียวกับ Silverlight 1.0 คือเอา HTML input textbox มาใช้แทน แล้วก็อย่าลืมเข้าไปดูที่บักนี้ แล้วเพิ่มลง watchlist ด้วย เค้าจะได้รู้ว่าเรารอให้เค้าแก้บักนี้กันหลายคนเหมือนกัน