2010-05-05 5 views
1

나는 단추가 있고 그것을 클릭하면 목록 상자가있는 팝업을 표시합니다. 이름Silverlight 목록 상자의 포커스가있는 문제

팝업 - popComboList

이름 목록 상자 - lstComboBoxResult

내가 목록 상자가 도착하지 않는 버튼의 클릭에 목록 상자에 있지만, 초기에 포커스를하고는, 포커스 (이것은 단지 한 번 발생 처음에는 처음 버튼을 클릭 할 때) 두 번째 클릭 후 작동합니다.

private void bnOpen_Click(object sender, RoutedEventArgs e) 
    { 
     if (IsDesignTime) 
      return; 

     lstComboBoxResult.Width = tbComboValue.ActualWidth + bnOpen.ActualWidth; 
     if (!popComboList.IsOpen) 
     { 
      SetPopupPosition(popComboList); 
      popComboList.IsOpen = true; 
      lstComboBoxResult.Focus(); 
     } 
     else 
     { 
      popComboList.IsOpen = false; 
     } 
    } 

답변

2

이것은 약간의 추측이지만 팝업을 연 후에는 Focus()를 호출하기 전에 UpdateLayout()을 호출 해보십시오. 목록 상자가 완전히 초기화되지 않았으므로 포커스가 처음 표시 될 때까지 포커스를받을 수 없습니다.

+0

이봐, 안녕 tehMick, 네 추측이 맞았 어. 팝업 창을 열어서 UpdateLayout을 부르면 .. Tx .. 세 번이나 추측해라. :) :) – Malcolm

관련 문제