키보드 포커스는 일반적으로 사용자가 입력 한 경우 키보드 입력을받는 컨트롤이기 때문에 일반적으로 이해하기가 쉽습니다. 따라서 TextBox를 클릭하면 키보드 포커스를 받게되고 입력을 시작할 수 있습니다. 다른 컨트롤은 다른 비헤이비어를 가지고 있으며 실제로 키보드를 지원하지 않을 수 있지만 여전히 키보드 포커스를 얻을 수 있습니다.
논리적 초점의 경우 응용 프로그램을 여러 부분으로 구성 할 수 있습니다. 예를 들어, 대부분의 응용 프로그램에는 도구 모음/리본이 맨 위에 있고 그 다음에는 주요 내용이 있습니다. 이제 귀하의 컨텐츠가 현재 키보드 포커스가있는 TextBox라고 상상해보십시오. ToolBar/리본 컨트롤을 클릭하면 키보드 포커스가 해당 컨트롤로 이동합니다. 그러나 실제로 콘텐츠의 TextBox가 전에 키보드 포커스를 가졌다 고 "기억"하고 싶습니다.
이렇게하려면 ToolBar/리본이 새로운 "포커스 범위"를 만듭니다. 따라서 ToolBar/리본 컨트롤을 클릭하면 키보드 포커스를 이동하지만 TextBox에는 여전히 해당 창에 대한 논리적 포커스가 있습니다. 이렇게하면 사용자가 ToolBar/Ribbon 작업을 마쳤을 때 TextBox에 키보드 포커스가 다시 주어집니다.
응용 프로그램에 키보드 포커스가 없기 때문에 다른 응용 프로그램과 상호 작용하는 경우에도 마찬가지입니다. 응용 프로그램에서 다시 작업 할 때 논리적 인 초점을 사용하여 누가 마지막으로 키보드 포커스를 가졌는지 (그리고 다시 복원해야하는지) 알 수 있습니다.