Window/WPF2010. 2. 11. 00:24

TextBox 사용 시 포커스가 왔을 때 다음과 같이

전체 내용을 선택해야 할 때가 있습니다.

 

 

 

 

 

 

 

 

 

 

 

 

여러 방법들이 있겠지만

간단하게 비하인드 코드에 작성된 이벤트 메서드를

여러 개의 TextBox의 GotFocus 이벤트와 연결하여 처리하는 방법에 대해 소개하겠습니다.

 

이벤트와 메서드를 연결합니다.

<TextBox GotFocus="TextBox_GotFocus" ... / >
<TextBox GotFocus="TextBox_GotFocus" ... / >

<TextBox GotFocus="TextBox_GotFocus" ... / >
<TextBox GotFocus="TextBox_GotFocus" ... / >

 

마우스로 클릭 후 포커스를 잃기 때문에 선택된 영역들이 다시 사라지게 됩니다.

이를 방지하기 위해 쓰레드를 사용하였습니다.

private void TextBox_GotFocus(object sender, RoutedEventArgs e)

{

    Dispatcher.CurrentDispatcher.BeginInvoke

    (

        DispatcherPriority.ContextIdle,

        new Action

        (

            delegate

            {

                (sender as TextBox).SelectAll();

            }

        )

    );                 

}

'Window > WPF' 카테고리의 다른 글

[ WPF ] 간단한 Image Animation  (2) 2010.02.12
[ WPF ] Canvas Image Background  (0) 2010.02.11
[ WPF ] Window 사이즈 변경 시 컨트롤 크기 변경하기  (3) 2010.02.08
[WPF] Object Capture  (0) 2010.01.29
[WPF] 시계 만들기  (0) 2010.01.26
Posted by 열ㅇl