wordpress付费插件网站网络优化工程师证
news/
2025/9/23 16:14:33/
文章来源:
wordpress付费插件网站,网络优化工程师证,怎样做企业手机网站建设,wordpress登陆界面背景2008/02/28 17:32i当ListView绑定数据源后,这个效果让我无从下手, 这个问题一直困扰着我,后来我在CSDN上发贴求助,问题终于得以解决,这是一位大大给的回复: 以下各节提供了三种方法#xff0c;用于创建各行的 Background 颜色具有交替效果的 ListView。该示例还论述用于在添加…2008/02/28 17:32 i当ListView绑定数据源后,这个效果让我无从下手, 这个问题一直困扰着我,后来我在CSDN上发贴求助,问题终于得以解决,这是一位大大给的回复: 以下各节提供了三种方法用于创建各行的 Background 颜色具有交替效果的 ListView。该示例还论述用于在添加或移除行时更新视图的方法。 方法 1定义使用 IValueConverter 来使背景色产生交替效果的样式 下面的示例显示如何为将 Background 属性的值绑定到 IValueConverter 的 ListViewItem 控件定义 Style。 XAML 复制代码 Style x:KeymyItemStyle TargetType{x:Type ListViewItem} Setter PropertyBackground Setter.Value Binding RelativeSource{RelativeSource Self} Converter{StaticResource myConverter}/ /Setter.Value /Setter /Style 下面的示例为 IValueConverter 定义 ResourceKey。 XAML 复制代码 namespc:BackgroundConverter x:KeymyConverter/ 下面的示例显示依据行索引设置 Background 属性的 IValueConverter 的定义。 C# 复制代码 public sealed class BackgroundConverter : IValueConverter { public object Convert(object value, Type targetType, object parameter, CultureInfo culture) { ListViewItem item (ListViewItem)value; ListView listView ItemsControl.ItemsControlFromItemContainer(item) as ListView; // Get the index of a ListViewItem int index listView.ItemContainerGenerator.IndexFromContainer(item); if (index % 2 0) { return Brushes.LightBlue; } else { return Brushes.Beige; } } 下面的示例演示如何定义使用 Style 作为其 ItemContainerStyle 以便提供所需布局的 ListView。 XAML 复制代码 ListView NametheListView ItemsSource{Binding Source{StaticResource EmployeeData}, XPathEmployee} ItemContainerStyle{StaticResource myItemStyle} ListView.View GridView GridViewColumn DisplayMemberBinding{Binding XPathFirstName} HeaderFirst Name Width120/ GridViewColumn DisplayMemberBinding{Binding XPathLastName} HeaderLast Name Width120/ GridViewColumn DisplayMemberBinding{Binding XPathFavoriteCity} HeaderFavorite City Width120/ /GridView /ListView.View /ListView 方法 2从 ListView 中派生一个新类以使背景色产生交替效果 下面的示例演示如何定义从 ListView 中派生的类。此类将重写 PrepareContainerForItemOverride 方法以便创建具有交替 Background 颜色的行。 C# 复制代码 public class SubListView : ListView { protected override void PrepareContainerForItemOverride(DependencyObject element, object item) { base.PrepareContainerForItemOverride(element, item); if (View is GridView) { int index ItemContainerGenerator.IndexFromContainer(element); ListViewItem lvi element as ListViewItem; if (index % 2 0) { lvi.Background Brushes.LightBlue; } else { lvi.Background Brushes.Beige; } } } } 下面的示例演示如何创建此类的实例。namespc 前缀映射到 公共语言运行库 (CLR) 命名空间和其中定义了 StyleSelector 的对应程序集。 XAML 复制代码 namespc:SubListView ItemsSource{Binding Source{StaticResource EmployeeData}, XPathEmployee} namespc:SubListView.View GridView GridViewColumn DisplayMemberBinding{Binding XPathFirstName} HeaderFirst Name Width120/ GridViewColumn DisplayMemberBinding{Binding XPathLastName} HeaderLast Name Width120/ GridViewColumn DisplayMemberBinding{Binding XPathFavoriteCity} HeaderFavorite City Width120/ /GridView /namespc:SubListView.View /namespc:SubListView 方法 3使用 StyleSelector 使背景色产生交替效果 下面的示例演示如何定义一个为行定义 Style 的 StyleSelector。此示例依据行索引定义 Background 颜色。 C# 复制代码 public class ListViewItemStyleSelector : StyleSelector { public override Style SelectStyle(object item, DependencyObject container) { Style st new Style(); st.TargetType typeof(ListViewItem); Setter backGroundSetter new Setter(); backGroundSetter.Property ListViewItem.BackgroundProperty; ListView listView ItemsControl.ItemsControlFromItemContainer(container) as ListView; int index listView.ItemContainerGenerator.IndexFromContainer(container); if (index % 2 0) { backGroundSetter.Value Brushes.LightBlue; } else { backGroundSetter.Value Brushes.Beige; } st.Setters.Add(backGroundSetter); return st; } } 下面的示例演示如何为 StyleSelector 定义 ResourceKey。namespc 前缀映射到 CLR 命名空间和其中定义了 StyleSelector 的对应程序集。有关更多信息请参见 XAML 命名空间和命名空间映射。 XAML 复制代码 namespc:ListViewItemStyleSelector x:KeymyStyleSelector/ 下面的示例演示如何将 ListView 的 ItemContainerStyleSelector 属性设置为此 StyleSelector 资源。 XAML 复制代码 ListView ItemsSource{Binding Source{StaticResource EmployeeData}, XPathEmployee} ItemContainerStyleSelector{DynamicResource myStyleSelector} ListView.View GridView GridViewColumn DisplayMemberBinding{Binding XPathFirstName} HeaderFirst Name Width120/ GridViewColumn DisplayMemberBinding{Binding XPathLastName} HeaderLast Name Width120/ GridViewColumn DisplayMemberBinding{Binding XPathFavoriteCity} HeaderFavorite City Width120/ /GridView /ListView.View /ListView 在 ListViewItem 集合中进行更改后更新 ListView 如果从 ListView 控件中添加或移除 ListViewItem您必须更新 ListViewItem 控件以便重新创建交替的 Background 颜色。下面的示例演示如何更新 ListViewItem 控件。 C# 复制代码 ICollectionView dataView CollectionViewSource.GetDefaultView(theListView.ItemsSource); dataView.Refresh();转载于:https://www.cnblogs.com/seven_cheng/archive/2010/05/14/1735568.html
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/913117.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!