1

我有一个用于 ListViewItem 数据模板的 BookItemView 类。

    /// <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();
        }
    }

如何为 ListView 中的某些 ListViewItems 设置特殊的背景颜色?

4

2 回答 2

1

ItemContainerStyle是你的朋友。例如:

<ListView>
    <ListView.ItemContainerStyle>
        <Setter Property="Background" Value="{Binding Marked, Converter={StaticResource MarkedConverter}}"/>
    </ListView.ItemContainerStyle>
</ListView>
于 2010-07-20T07:04:27.900 回答
1

在要更改背景的内容上定义所需的属性,并在为 ListViewItem 定义的 DataTemplate 中触发更改属性特定值的背景。

于 2010-07-20T07:05:01.370 回答