본문 바로가기

c# 그리고 WPF

WPF(C#) 유저컨트롤의 입력컨트롤에 포커스 이동

유저컨트롤.xaml

// 코드비하인드에서 포커스 이동 처리할 대상
<TextBox x:Key="textSample"> 
    <Style TargetType="{x:Type TextBox}"> 
        <Style.Trigger> 
            <DataTrigger Binding="{Binding FocusElement}" Value="textSample"> 
            	<Setter Property="FocusManager.FocusedElement" Value="{Binding ElementName=textSample}" 
            </DataTrigger> 
        </Style.Trigger> 
    </Style> 
</TextBox>

 

메인화면 코드 비하인드

유저컨트롤에 바인딩하고 있는 뷰모델에 프로퍼티(FocusElement)를 추가하고 포커스 이동이 필요한 대상의 x:Key값( textSample )을 넣어주면 됨

 

유저컨트롤.textSample.Focus();

이렇게 간단히 포커스 설정하면 좋을텐데란 생각을 매번 합니다.

 

 

반응형

'c# 그리고 WPF' 카테고리의 다른 글

WPF(C#) 모달 자식창 열고 값 받아오기  (0) 2023.03.02