J'ai un TabControl qui est lié à un modèle de vueWPF TabBarControl Réglage Mise au point à l'élément lorsque l'onglet change
<TabControl
ItemsSource="{Binding Path=ViewModelCollection}" >
<TabControl.ItemContainerStyle>
<Style
TargetType="TabItem"
BasedOn="{StaticResource {x:Type TabItem}}">
<Setter
Property="Header"
Value="{Binding Title}" />
<Setter
Property="Content"
Value="{Binding}" />
</Style>
</TabControl.ItemContainerStyle>
</TabControl>
Chaque onglet contient simplement un modèle Voir article. J'utilise un gabarit de données pour l'afficher.
<!-- View Model Template -->
<DataTemplate
DataType="{x:Type local:ViewModelItem}">
<DockPanel>
<TextBox Text="I want this to have the focus"/>
</DockPanel>
</DataTemplate>
Lorsque l'onglet en cours est modifié, je veux que l'accent soit sur la zone de texte (ce qui est un exemple simple, dans mon code de production j'ai un DataGrid) dans le modèle de données. comment puis-je accomplir cela?
Réglage de la mise au point dans le code ou XAML? – Timores
ce serait bien de le faire en xaml, le nombre d'éléments de l'onglet est dynamique. Le définir dans le code, signifierait chalutage de l'arbre visuel à la recherche d'une zone de texte. Une solution générale pour la définition de l'élément focalisé à l'origine sur un modèle de données associé à la définition du focus sur une barre d'onglets serait bonne. Mais cela ne me dérange pas d'utiliser du code. même dérivant de la barre d'onglet, donc je n'ai pas eu à le mettre dans le code derrière. –