J'ai des tabItems avec TextBox dans leurs en-têtes. J'utilise les événements LostFocus et MouseDoubleClick pour définir le texte à la zone de texte.WPF TabItem événement de focus perdu
<TabControl>
<TabItem Width="50">
<TabItem.Header>
<TextBox Text="text" IsReadOnly="True" LostFocus="TextBox_LostFocus" MouseDoubleClick="TextBox_MouseDoubleClick"/>
</TabItem.Header>
</TabItem>
</TabControl>
private void TextBox_MouseDoubleClick(object sender, MouseButtonEventArgs e)
{
TextBox text_box = sender as TextBox;
if (text_box == null) { return; }
text_box.IsReadOnly = false;
text_box.SelectAll();
}
private void TextBox_LostFocus(object sender, RoutedEventArgs e)
{
TextBox text_box = sender as TextBox;
if (text_box == null) { return; }
text_box.IsReadOnly = true;
}
événement LostFocus se produit si seulement vous cliquez sur la zone d'en-tête de TabItem en dehors de la zone de texte ou sur TabItem enother. Cliquer sur la zone de contenu de l'onglet ne déclenche pas l'événement de focus perdu. Comment faire pour que la zone de texte perdre le focus lorsque l'utilisateur clique sur une zone en dehors de la zone de texte?
?