2009-02-05 6 views
0

J'ai un contrôle onglet WPF qui contient plusieurs contrôles en double comme Onglet Contenu de la pageComment obtenez-vous les données de contrôle des pages sur un contrôle Tab

<TabControl ItemsSource="{Binding}" Name="tabControl"> 
    <TabControl.ItemTemplate> 
     <DataTemplate> 
      <TextBlock Text="{Binding Name}"/> 
     </DataTemplate> 
    </TabControl.ItemTemplate> 
    <TabControl.ContentTemplate> 
     <DataTemplate> 
      <local:InnerDataEntryControl DataContext="{Binding Data}"/> 
     </DataTemplate> 
    </TabControl.ContentTemplate> 
</TabControl> 

Sur le contrôle InnerDataEntry il y a une zone de liste. J'ai une commande sur le formulaire externe qui nécessite les éléments sélectionnés dans la zone de liste sur le contrôle. Je ne peux pas comprendre comment accéder à la zone de liste sur le contrôle onglet lui-même. Lorsque j'essaie d'interroger les éléments sélectionnés, j'obtiens les éléments liés et non la boîte de liste elle-même. Je ne veux pas polluer la couche de gestion avec une propriété 'IsSelected' sur mes éléments de liste, et je suppose que je pourrais créer un modèle de vue si nécessaire, mais il semble juste que je ne puisse pas obtenir d'informations sur le contrôle du contenu réel d'une page à onglet.

J'espère que je manque juste quelque chose d'évident.

Répondre

0

Cela a été demandé plus tôt dans mon expérience WPF. Pour fermer la boucle sur la question, je vais poster un lien vers le MSDN Magazine entry sur le sujet de MVVM. En fin de compte, la solution implique la création d'un modèle de vue qui a les propriétés nécessaires liées aux parties du contrôle de tabulation de sorte que le modèle de vue n'a pas besoin d'accéder de la façon que je décris. Au lieu de cela, le modèle de vue agit directement sur les données qui sont liées sans avoir à référencer directement la vue.

Questions connexes