WPF와 Silverlight 에서 TextBox 의 한글 입력을 막는 방법
Win32 API나 윈폼에서 한글 입력을 막기 위해 IME 관련 메시지들을 처리했던 기억이 있습니다. WPF와 Silverlight에서는 InputMethod 클래스의 SetIsInputMethodEnabled 메서드를 사용해서 쉽게 처리할 수 있습니다.
<Window x:Class="WpfApplication1.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="350" Width="525">
<Grid>
<TextBox x:Name="myTextBox1" HorizontalAlignment="Left" Height="23" Margin="10,10,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="120"/>
<TextBox x:Name="myTextBox2" HorizontalAlignment="Left" Height="23" Margin="10,38,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="120"/>
</Grid>
</Window>
using System.Windows;
using System.Windows.Input;namespace WpfApplication1
{
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
InputMethod.SetIsInputMethodEnabled(this.myTextBox1, false);
}
}
}
이외에도 InputMethod 클래스는 IME와 관련된 많은 기능을 제공합니다.