2012-12-08 4 views
3

나는 Textbox.GotFocusTextbox.LostFocus에 InputLanguage를 변경하려면, 그래서이 수행값이 false 일 때 IsKeyboardFocusWithin에서 트리거가 작동하지 않는 이유는 무엇입니까?

en-us에 InputLanguage를 chages하지만 다시 fa-ir으로 반환하지 않습니다
<Style TargetType="{x:Type TextBox}" x:Key="EnglishTextStyle"> 
    <Style.Triggers> 
     <Trigger Property="IsKeyboardFocusWithin" Value="True"> 
      <Setter Property="InputLanguageManager.InputLanguage" Value="en-us" /> 
     </Trigger> 
     <Trigger Property="IsKeyboardFocusWithin" Value="False"> 
      <Setter Property="InputLanguageManager.InputLanguage" Value="fa-ir" /> 
     </Trigger> 
    </Style.Triggers> 
</Style> 

, 문제는 무엇입니까?

+0

이 코드는 작동합니다. InputLanguageManager.InputLanguage 대신 Property = "Text"를 변경해보고 다른 컨트롤에 집중해야합니다. 또한 "IsFocused"를 평가할 수 있습니다. – Mate

답변

1

당신은 너무 형식을 지정해야합니다

<Trigger Property="TextBox.IsKeyboardFocusWithin" Value="False"> 
    <Setter Property="TextBox.InputLanguageManager.InputLanguage" Value="fa-ir" /> 
</Trigger> 
관련 문제