2010.01.28 09:00

1.RichTextArea Part 1
2.RichTextArea Part 2
3.Accessing Web Camera and Microphone
4.Right Click Mouse Events
5.MouseWheel API
6.Using Silverlight Controls As Drop Targets
7.DataGrid Enhancements
8.Printing API Basics
9.Hosting HTML Content
10.Accessing the Global Clipboard Programmatically 
11.Using the ViewBox Control 
12.Asynchronous Data Validation 
13.BiDi and Right-to-Left Support 
14.Notification API
15.Local File Access 
16.RIA Services support in Visual Studio 2010  
 

블로그 이미지 김영욱 차장 Microsoft Korea  .NET Evangelist
Enterprise UX 를 위한  UI 기술과 SOA, Cloud Computing, NUI등 다양한 분야의 접목과 응용을 통해 최적의 IT 인프라 구축을 위해서 노력하고 있다.
Email: iwinkey@hotmail.com
Blog: http://winkey.tistory.com

 

이번에 설명할 기능은 RTL(Right To Left)라고 불리는 기능이다. <그림1>에서 볼 수 있듯이 아랍권 언어들은 글자의 방향이 우리와는 반대 반향으로 흘러간다. 우리가 보기에는 이해하기 힘든 방식이기도 하고 글씨를 쓰다 보면 이미 쓴 글씨가 손에 묻거나 할 텐데 그래도 아랍권의 많은 사람들은 RTL 방식으로 글을 쓰고 읽는다. 

 

 
<그림1>RTL Sample

 

이번에는 RTL을 별도로 지원하는 방법이 없어서 전용 컨트롤을 사용하거나 혹은 온갖 꼼수를 동원하기도 했다. 하지만 Silverlight 4에서는 드디어 RTL이 기본으로 지원되기 시작했다.

 

하나 하나의 컨트롤 상에서 글씨의 흐름을 제어하기 위해서는 다음과 같이 사용할 수 있다.

 

<TextBlock FlowDirection="RightToLeft" Text="BiDi and RTL Sample" FontSize="20"  />

 

하지만 모든 컨트롤에 일일이 이렇게 지정할 수는 없기에 상위 레벨에서 지정하면 페이지 전체에 영향이 가게끔 할 수 있다.

 

<UserControl x:Class="BiDiRTL.MainPage"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    mc:Ignorable="d"
    d:DesignHeight="300" d:DesignWidth="400" FlowDirection="RightToLeft">

 

위와 같이 UserControl Level에서 RTL을 지정하게 되면 이 페이지에 포함된 모든 객체들이 RTL방식으로 출력되게 된다.


신고