2012-12-08 59 views
3

我想改變Textbox.GotFocusTextbox.LostFocus的InputLanguage,所以我這樣做:爲什麼在值爲false時在`IsKeyboardFocusWithin`上觸發不起作用?

<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> 

它chages的InputLanguage到en-us但不返回回fa-ir,有什麼問題呢?

+0

此代碼的工作。嘗試改變Property =「Text」,而不是InputLanguageManager.InputLanguage,你必須確保專注於其他控制。你也可以評估「IsFocused」。 – Mate

回答

1

你需要太指定類型:

<Trigger Property="TextBox.IsKeyboardFocusWithin" Value="False"> 
    <Setter Property="TextBox.InputLanguageManager.InputLanguage" Value="fa-ir" /> 
</Trigger> 
相關問題