`
star65225692
  • 浏览: 277272 次
  • 性别: 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 实现的滑块选择器

    **滑块选择器在WPF中的实现** WPF(Windows Presentation Foundation)是.NET框架的一...通过理解其基本属性、事件、样式模板以及与其他技术(如数据绑定和动画)的结合,开发者可以创建出高效、美观的滑动选择器。

    WPF:自定义Metro样式文件夹选择对话框FolderBrowserDialog

    4. **自定义样式**:利用WPF的样式和模板机制,为对话框和控件应用Metro风格的皮肤。这包括颜色、字体、边框等视觉元素的调整,确保与整体应用的UI风格保持一致。 5. **封装组件**:将以上代码封装成一个可重用的...

    wpf实现类似iPhone的选择器

    总之,使用WPF实现类似iPhone的选择器需要对WPF的布局、动画、样式和控件模板有深入的理解。通过结合`ScrollViewer`、`ItemsControl`、动画和自定义样式,我们可以创建出既美观又实用的选取器,为X86平台的平板应用...

    WPF combobox button 漂亮样式

    首先,我们需要了解WPF的样式和模板系统。在WPF中,我们可以使用Style和ControlTemplate来定制控件的外观和行为。Style用于设置控件的一系列属性,而ControlTemplate则定义了控件的视觉结构和交互逻辑。 对于...

    WPF日期时间选择DateTimePicker

    - 如果需要更复杂的日历视图或时间选择器,可以使用`Calendar`和`TimePicker`控件单独定制,然后嵌入到DateTimePicker的模板中。 9. **性能优化** - 对于大量DateTimePicker的使用,考虑使用虚拟化技术,减少内存...

    wpf-颜色选择器-office word中的样子

    为了使颜色选择器看起来更像Word中的样式,可以自定义控件样式和模板,使用XAML语言来定义UI元素的外观和布局。例如,可以创建一个自定义的`ColorPicker`控件模板,包含上述的所有组件,并使用适当的颜色和边框样式...

    WPF样式大全,20多套不同风格的样式

    3. **DataGrid**:`DataGrid`用于显示和编辑数据集,其样式可以定制行、列、头单元格的样式,甚至可以自定义排序和选择行为的视觉效果。 4. **Button**:按钮是用户交互的基础元素,样式可以设定按钮的颜色、形状、...

    WPF炫酷样式示例.rar

    示例可能包含一些自定义控件的实现,如日期选择器,它们可能结合了TextBox、DatePicker和Calendar等组件,以提供独特的交互体验。 7. **控件状态(Control States)**:WPF控件可以有不同的状态,如鼠标悬停、按下...

    WPF日历控件简单样式-1种

    在Windows Presentation Foundation (WPF) 中,日历控件(Calendar Control)是一种常见的用户界面元素,用于显示日期选择器。本资源提供了一个简单的日历控件样式,是开发者个人业余时间创作的成果,旨在帮助WPF...

    Wpf框架模块.rar_WPF 界面框架_wpf 界面_wpf 软件框架_wpf样式_工业

    WPF提供了大量的内置控件,如按钮、文本框、选择器等,同时支持自定义控件和模板。模板可以用来改变控件的外观和行为,使得UI设计更加灵活。在工业软件中,这些控件可能已经过优化,满足了如高响应速度、实时更新等...

    WPF自定义时间控件,可选择日期、时间

    总之,创建一个WPF自定义DateTimePicker控件涉及多个步骤,包括控件的设计、数据绑定、事件处理和样式定义。通过这种方式,开发者可以满足特定的界面需求,提供更符合用户体验的日期和时间选择功能。在实际项目中,...

    WPF样式 WpfToolkit-master

    - **DatePicker**和**TimePicker**:提供了日期和时间选择器,相比基础控件更加用户友好。 ### 应用WpfToolkit 要使用WpfToolkit,首先需要将其添加到项目中。在NuGet包管理器中搜索并安装`WpfToolkit`,然后在...

    wpf checkbox样式

    2. **模板选择器**:为了改变CheckBox的外观,我们需要修改它的模板。这包括ControlTemplate和Trigger。ControlTemplate定义了CheckBox的视觉结构,而Trigger则定义了不同状态下的样式变化。 3. **ControlTemplate*...

    WPF的数据分页控件

    DataPager控件通常包含页码按钮和页大小选择器,用户可以通过这些元素来切换页面或调整每页显示的数据量。 3. **数据绑定** 在WPF中,DataPager控件需要与一个实现了ICollectionView接口的数据源绑定。...

    wpf datagrid样式书写

    3. **选择器和触发器** `DataGrid`样式可以包含`DataTrigger`或`StyleSelector`,根据数据绑定项的属性值来改变控件的外观。例如,如果一个数据项的状态字段为“警告”,我们可以让对应的行变红: ```xml ...

    WPF控件样式和模板手册

    ### WPF控件样式和模板手册 #### 概述 WPF(Windows Presentation Foundation)是Microsoft提供的一种用于构建Windows客户端应用程序的技术框架。它允许开发者利用XAML和C#(或其他.NET语言)创建丰富的用户界面。...

    WPF TreeView 样式 模板

    3. **模板选择器(TemplateSelector)** 对于更复杂的场景,你可能需要根据数据的不同类型或状态使用不同的模板。这时可以自定义`DataTemplateSelector`类,实现选择适当模板的逻辑。 4. **树视图项的交互** `...

    WPF DataGrid样式

    在本文中,我们将深入探讨WPF(Windows Presentation Foundation)中的DataGrid控件的样式和定制。DataGrid是WPF提供的一种强大的数据展示组件,它允许用户以表格形式展示和操作数据。通过理解并掌握DataGrid的样式...

    WPF 模仿IOS 安卓 滚动时间选择

    在本文中,我们将深入探讨如何在Windows Presentation Foundation (WPF) 中实现一个模仿iOS和Android时间选择器的界面。WPF是.NET Framework的一部分,提供了一种强大的方式来创建丰富的、交互式的桌面应用程序。 ...

    wpf各种样式大全 适合初学者

    这里可能包括日期选择器的外观、日历的样式、选定日期的颜色等。 8. **GroupBox样式**(GroupBoxStyle.xaml): GroupBox用于将一组相关的控件包裹在一起,通常用作分组标题。样式可能涉及修改标题的字体、颜色、...

Global site tag (gtag.js) - Google Analytics