2010-06-16 5 views
0

Dans Silverlight, j'ai une grille avec DataContext définie en classe ViewModel.
Le ViewModel contient une liste d'éléments (chacun d'entre eux contenant l'ID int et la chaîne Text) et un entier "ID" qui identifie l'élément actuellement actif (élément non sélectionné).
Je voudrais construire xaml avec ListBox où l'élément activé a une autre couleur. Comment puis-je le faire?Comment lier Listbox à deux propriétés?

Plus précisément, en XAML, j'ai:

<Grid DataContext="ModelView"> 
    <ListBox ItemsSource="Questions"> 
     <ListBox.ItemTemplate>   
      <TextBlock Text="{Binding ID}" /> 
      <TextBlock Text="{Binding Text}" />   
     </ListBox.ItemTemplate> 
    </ListBox> 
    <TextBlock Text="{Binding ID}" /> 
</Grid>` 

Comment puis-je définir la couleur d'un (et un seul ) élément dans la zone de liste, basée sur ID propriété MODELVIEW?

Encore un problème - lorsque je change d'élément actif - comment puis-je actualiser le ListBox?

+0

Désolé si c'est juste moi - mais je ne suis pas sûr de ce que l'exigence est. –

+0

Ce xaml était seulement un exemple simplifié. J'ai trouvé la solution, mais je ne l'aime pas - j'ai dû étendre item avec la propriété booléenne IsActivated et la propriété statique ViewModel. IsActivated ID de comparaison de l'élément actuel avec l'ID de l'élément actif. – Gabriel

Répondre

0

J'ai en XAML:

Comment ensemble I couleur d'un (et un seul) pièce e basée sur ID listbox de propriété MODELVIEW?

+0

@Gabriel: Ce type d'information supplémentaire appartient à la section des questions. Je suis allé de l'avant et l'a ajouté là. Je vous suggère de supprimer cette réponse, améliorant les chances d'obtenir une réponse appropriée. – mjv

+0

Comment puis-je supprimer ma réponse? – Gabriel

0

Votre ItemTemplate ne semble pas être valide. !

Je voudrais essayer d'utiliser Déclencheurs à le modèle de votre surbrillance Listbox article

Dans une grille je l'ai fait un par exemple

<DataTemplate> 
    <Image x:Name="MyImage" Source="Images/corrected.png" Width="64" Height="64" /> 
    <DataTemplate.Triggers> 
     <DataTrigger Binding="{Binding YourConditionValue}" Value="0"> 
      <Setter TargetName="MyImage" Property="Source" Value="Images/notCorrected.png" /> 
     </DataTrigger> 
     </DataTemplate.Triggers> 
    </DataTemplate> 

Cela pourrait être une solution, mais vous devez vérifier vous-même

Questions connexes