`
star65225692
  • 浏览: 267739 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类

WPF数据模板样式选择器

 
阅读更多

在使用数据模板样式选择器时,不能设置ItemContainerStyle的属性值,如果设置了该值,那么数据模板样式选择器会失去作用。

在使用数据模板样式选择器时,首先要创建数据模板样式选择器对象,此对象要重写StyleSelector基类的SelectStyle方法,并在方法中返回相应的样式,CS代码如下:

public class ListViewItemStyleselector:StyleSelector
{

public Style Style1 { get; set; } //这个可以换成背景色,边框色等等

public Style Style2 { get; set; }

public override Style SelectStyle(object item, System.Windows.DependencyObject container)
{
ListView listView=ItemsControlFromItemContainer(container) as ListView;
int index = listView.ItemContainerGenerator.IndexFromContainer(container);
if(index % 2==0)
{
return Style1 ;
}
else
{
return Style2 ;
}
}
}

 在创建完成数据模板样式选择器后,就可以在XAML中调用数据模板样式选择器了,代码如下:

<ListView.ItemContainerStyleSelector>
<local:styleselector Style1="{StaticResource style1}" Style2="{StaticResource style2}">
</local:styleselector>
</ListView.ItemContainerStyleSelector>

 示例中的两个样式XAML代码如下:

<Style x:Key="style1">以iPad2为话题的材料

<Setter Property="Control.Padding" Value="0"/>
<Setter Property="Control.Background" Value="Chocolate"/>
<Style.Triggers>
<Trigger Property="ListBoxItem.IsSelected" Value="True">
<Setter Property="ListBoxItem.Background" Value="YellowGreen"/>
</Trigger>
</Style.Triggers>
</Style>

<Style x:Key="style2">
<Setter Property="Control.Padding" Value="0"/>
<Setter Property="Control.Background" Value="Green"/>
<Style.Triggers>
<Trigger Property="ListBoxItem.IsSelected" Value="True">
<Setter Property="ListBoxItem.Background" Value="YellowGreen"/>
</Trigger>
</Style.Triggers>底色女装新品登场

</Style>

三千红尘非我恋,不堕轮回自在身

 

分享到:
评论

相关推荐

    wpf DataGrid分组

    wpf DataGrid大数据通过模板选择器进行不同样式筛选,下拉分组,性能优化,支持几千条数据加载,低卡顿

    WPF编程宝典 part2

    20.4.4 样式选择器 561 20.5 数据模板 564 20.5.1 分离和重用模板 566 20.5.2 使用更高级的模板 567 20.5.3 改变模板 569 20.5.4 模板选择器 570 20.5.5 模板与选择 573 20.5.6 改变项的布局 577 20.6 ComboBox控件 ...

    WPF编程宝典 part1

    20.4.4 样式选择器 561 20.5 数据模板 564 20.5.1 分离和重用模板 566 20.5.2 使用更高级的模板 567 20.5.3 改变模板 569 20.5.4 模板选择器 570 20.5.5 模板与选择 573 20.5.6 改变项的布局 577 20.6 ComboBox控件 ...

    C#_WPF基础教程.7z

    18.1 理解WPF中的自定义元素 18.2 构建基本的用户控件 18.2.1 定义依赖项属性 18.2.2 定义路由事件 18.2.3 添加标记 18.2.4 使用控件 18.2.5 命令支持 18.2.6 深入分析用户控件 18.3 创建无外观控件...

    一款非常好的WPF编程宝典2010 源代码

    17.2.6 样式选择器 466 17.2.7 改变元素布局 468 17.3 数据视图 469 17.3.1 检索视图对象 470 17.3.2 过滤集合 470 17.3.3 过滤DataTable对象 473 17.3.4 排序 474 17.3.5 分组 475 17.3.6 声明式地创建视图...

    SliderWithTickLabels:WPF滑块扩展,带有刻度标记

    我对原始Slider所做的最明显的添加是两个属性, TickLabelTemplate ,您可以在其中选择创建自己的标签模板(您甚至可以创建复杂的对象,例如其中包含多个子元素的面板)和GeneratedTicks ,保留刻度值(在不事先...

    Apress.Pro.WPF.in.C.Sharp.2008.2nd.Edition.Feb.2008

    17.2.6 样式选择器 466 17.2.7 改变元素布局 468 17.3 数据视图 469 17.3.1 检索视图对象 470 17.3.2 过滤集合 470 17.3.3 过滤DataTable对象 473 17.3.4 排序 474 17.3.5 分组 475 17.3.6 声明式地创建视图 478 ...

    .Net.Framework3.5开发技术详解[中文][PDF][VOL1]

    作为初学入门选择方向的好教材 许多技术人员在面对.NET Framework 3.0/3.5大量的新知识、新技术的时候感到彷徨,对自己现有的技术知识是否过时会产生疑问,对新技术会产生抵触的情绪,其实,只要能学习到真正代表...

    .Net.Framework3.5开发技术详解[中文][共二卷][PDF][VOL2]

    作为初学入门选择方向的好教材 许多技术人员在面对.NET Framework 3.0/3.5大量的新知识、新技术的时候感到彷徨,对自己现有的技术知识是否过时会产生疑问,对新技术会产生抵触的情绪,其实,只要能学习到真正代表...

    ASP.NET3.5从入门到精通

    目录 第一篇 .NET基础 第 1 章认识 ASP.NET 3.5 1.1 什么是ASP.NET 1.1.1 .NET 历史与展望 1.1.2 ASP.NET 与ASP 1.1.3 ASP.NET 开发工具 1.1.4 ASP.NET 客户端 1.1.5 ASP.NET 3.5 新增控件 ...第 19 章 WPF...

    ASP.NET 3.5 开发大全word课件

    1.3.5 解决方案管理器 1.3.6 属性窗口 1.3.7 错误列表窗口 1.4 安装SQL Server 2005 1.5 ASP.NET应用程序基础 1.5.1 创建ASP.NET应用程序 1.5.2 运行ASP.NET应用程序 1.5.3 编译ASP.NET应用程序 1.6 小结 第2章 C# ...

    ASPNET35开发大全第一章

    1.3.5 解决方案管理器 1.3.6 属性窗口 1.3.7 错误列表窗口 1.4 安装SQL Server 2005 1.5 ASP.NET应用程序基础 1.5.1 创建ASP.NET应用程序 1.5.2 运行ASP.NET应用程序 1.5.3 编译ASP.NET应用程序 1.6 小结 第2章 C# ...

    ASP.NET 3.5 开发大全11-15

    1.3.5 解决方案管理器 1.3.6 属性窗口 1.3.7 错误列表窗口 1.4 安装SQL Server 2005 1.5 ASP.NET应用程序基础 1.5.1 创建ASP.NET应用程序 1.5.2 运行ASP.NET应用程序 1.5.3 编译ASP.NET应用程序 1.6 小结 第2章 C# ...

    ASP.NET 3.5 开发大全

    1.3.5 解决方案管理器 1.3.6 属性窗口 1.3.7 错误列表窗口 1.4 安装SQL Server 2005 1.5 ASP.NET应用程序基础 1.5.1 创建ASP.NET应用程序 1.5.2 运行ASP.NET应用程序 1.5.3 编译ASP.NET应用程序 1.6 小结 第2章 C# ...

    ASP.NET 3.5 开发大全1-5

    1.3.5 解决方案管理器 1.3.6 属性窗口 1.3.7 错误列表窗口 1.4 安装SQL Server 2005 1.5 ASP.NET应用程序基础 1.5.1 创建ASP.NET应用程序 1.5.2 运行ASP.NET应用程序 1.5.3 编译ASP.NET应用程序 1.6 小结 第2章 C# ...

Global site tag (gtag.js) - Google Analytics