2010-07-20 6 views
1

J'ai une classe BookItemView pour le modèle de données de ListViewItem.Comment changer la couleur de fond de ListViewItem dynamiquement?

/// <summary> 
    /// Represent a class to keep every items view. 
    /// </summary> 
    public class BookItemView : ICloneable 
    { 
     /// <summary> 
     /// Create a new instance of BookItemView. 
     /// </summary> 
     public BookItemView() 
     { 
      this.ID = Guid.NewGuid(); 
     } 

     /// <summary> 
     /// Gets current instance unique id. 
     /// </summary> 
     public Guid ID 
     { 
      get; 
      private set; 
     } 

     /// <summary> 
     /// Gets or sets items title. 
     /// </summary> 
     public string Title { get; set; } 

     /// <summary> 
     /// Gets or sets items subtitle. 
     /// </summary> 
     public string Subtitle { get; set; } 

     /// <summary> 
     /// Gets or sets items description. 
     /// </summary> 
     public string Description { get; set; } 

     /// <summary> 
     /// Gets or sets items icon. 
     /// </summary> 
     public ImageSource Icon { get; set; } 

     /// <summary> 
     /// Gets or sets a value which indicate is item marked or not. 
     /// </summary> 
     public bool Marked { get; set; } 

     /// <summary> 
     /// Gets or sets a list of BookItemView. 
     /// </summary> 
     public ObservableCollection<BookItemView> BookItems { get; set; } 

     /// <summary> 
     /// Create a shallow copy of current object. 
     /// </summary> 
     /// <returns>A shallow copy of current object.</returns> 
     public object Clone() 
     { 
      return base.MemberwiseClone(); 
     } 
    } 

Comment puis-je définir une couleur d'arrière-plan spéciale pour certains ListViewItems dans ListView?

Répondre

1

ItemContainerStyle est votre ami. Par exemple:

<ListView> 
    <ListView.ItemContainerStyle> 
     <Setter Property="Background" Value="{Binding Marked, Converter={StaticResource MarkedConverter}}"/> 
    </ListView.ItemContainerStyle> 
</ListView> 
1

Définir la propriété désirée sur ce que vous voulez changer de fond et DataTemplate défini pour déclencher ListViewItem changer de fond sur la valeur spécifique de votre propriété.

Questions connexes