WPF DataGridColumnHeader元素不会在第一次单击时获得焦点

时间:2013-02-09 12:58:09

标签: wpf wpfdatagrid datatemplate

我在WPF DataGrid上遇到了一个可怕的问题!我在TextBox内放了一个DataGridColumnHeader,并更改了KeyBoardLanguage上的TextBox_GotFocus。 这是我DataGridColumnHeader的风格:

<Style x:Key="DataGridSelectorColumnHeaderStyle" TargetType="{x:Type DataGridColumnHeader}" >
    <Setter Property="ContentTemplate">
        <Setter.Value>
            <DataTemplate>
                <TextBox  xamlservices:GotFocusBehavior.GotFocus="{Binding TextBoxGotFocusCommand}"
                          xamlservices:GotFocusBehavior.GotFocusParameter="{Binding RelativeSource={RelativeSource Mode=Self}}"/>
            </DataTemplate>
        </Setter.Value>
    </Setter>
</Style>

  public ICommand TextBoxGotFocusCommand
    {
        get { return new RelayCommand<TextBox>(OnTextBoxGotFocus); }
    }
  TextBox txtSearch;
  private void OnTextBoxGotFocus(TextBox sender)
  {
     txtSearch = sender;
     if (...)
     {
       CultureInfo lanq = new CultureInfo("en-us", false);
       InputLanguageManager.SetInputLanguage(txtSearch, lanq);
     }
  }

问题是,当我点击Textbox时,语言会发生变化,点击其他地方并返回TextBox!它不会在第一次点击时更改语言。 任何想法都将不胜感激。

0 个答案:

没有答案