WPF ListView ListBox 常用的样式记录

ListView:

<ListView x:Name="lvBlockedApps"
                        ItemsSource="{Binding BlockedAppsCollecion}">
                        <ListView.Style>
                            <Style TargetType="ListView">
                                <Setter Property="VerticalAlignment" Value="Top"></Setter>
                                <Setter Property="HorizontalAlignment" Value="Stretch"></Setter>
                                <Setter Property="SelectionMode" Value="Single"></Setter>

                                <Setter Property="Template">
                                    <Setter.Value>
                                        <ControlTemplate TargetType="{x:Type ListView}">
                                            <ScrollViewer VerticalScrollBarVisibility="Visible" HorizontalScrollBarVisibility="Auto" HorizontalAlignment="Stretch">
                                                <ItemsPresenter/>
                                            </ScrollViewer>
                                        </ControlTemplate>
                                    </Setter.Value>
                                </Setter>

                            </Style>
                        </ListView.Style>
                        <ListView.ItemContainerStyle>
                            <Style TargetType="{x:Type ListViewItem}">
                                <Setter Property="Height" Value="40"></Setter>
                                <Setter Property="Margin" Value="5,2,3,0"></Setter>
                                <Setter Property="BorderBrush" Value="Red"></Setter>
                                <Setter Property="BorderThickness" Value="2"/>
                                <Setter Property="Cursor" Value="Hand"></Setter>
                                <Setter Property="Template">
                                    <Setter.Value>
                                        <ControlTemplate TargetType="{x:Type ListViewItem}">
                                            <Border x:Name="back" BorderBrush="Green" BorderThickness="0" >
                                                <Grid>
                                                    <Grid.ColumnDefinitions>
                                                        <ColumnDefinition Width="Auto"></ColumnDefinition>
                                                        <ColumnDefinition Width="*"></ColumnDefinition>
                                                        <ColumnDefinition Width="Auto"></ColumnDefinition>
                                                    </Grid.ColumnDefinitions>
                                                    <Border Grid.Column="0" Width="32" Height="32" CornerRadius="5" Background="#FF83CAD1" Margin="5,0,0,0">
                                                        <Border>
                                                            <Border.Background>
                                                                <ImageBrush ImageSource="{Binding AppIcon,Converter={StaticResource ImgPathToImageConverter}}"></ImageBrush>
                                                            </Border.Background>
                                                        </Border>
                                                    </Border>
                                                    <customControl:EnhancedTextBlock Grid.Column="1" Margin="10,0,0,0" FontSize="16" Text="{Binding Name}" />
                                                    <Button Grid.Column="2"
                                                        x:Name="btnUnblock"
                                                        Width="60" Height="23"
                                                        Content="Unblock"
                                                        Padding="0"
                                                        Margin="0,0,8,0"
                                                        Style="{DynamicResource FileDialogButtonStyle}"
                                                        Click="btnUnblock_Click"></Button>
                                                </Grid>
                                            </Border>
                                            <ControlTemplate.Triggers>
                                                <Trigger Property="IsMouseOver" Value="True">
                                                    <Setter TargetName="back" Property="Background" Value="LightGray"></Setter>
                                                </Trigger>
                                                <Trigger Property="IsSelected" Value="True">
                                                    <Setter TargetName="back" Property="Background" Value="Gray"></Setter>
                                                </Trigger>
                                            </ControlTemplate.Triggers>
                                        </ControlTemplate>
                                    </Setter.Value>
                                </Setter>

                            </Style>
                        </ListView.ItemContainerStyle>
                    </ListView>

ListBox:

                    <ListBox x:Name="lbPageMenus" ItemsSource="{Binding PageMenus}" SelectionMode="Single">
                        <ListBox.Template>
                            <ControlTemplate TargetType="{x:Type ListBox}">
                                <ItemsPresenter/>
                            </ControlTemplate>
                        </ListBox.Template>
                        <ListBox.ItemsPanel>
                            <ItemsPanelTemplate>
                                <WrapPanel Orientation="Horizontal" IsItemsHost="True"/>
                            </ItemsPanelTemplate>
                        </ListBox.ItemsPanel>
                        <ListBox.ItemContainerStyle>
                            <Style TargetType="ListBoxItem">
                                <Setter Property="Margin" Value="0,0,50,0"></Setter>
                                <Setter Property="Cursor" Value="Hand"></Setter>
                                <Setter Property="IsSelected" Value="{Binding IsSelected}"></Setter>
                                <Setter Property="IsEnabled" Value="{Binding IsEnabled}"></Setter>
                                <Setter Property="Template">
                                    <Setter.Value>
                                        <ControlTemplate TargetType="{x:Type ListBoxItem}">
                                            <Border x:Name="back" BorderBrush="Transparent" BorderThickness="0,0,0,5"  Width="{Binding Width}" Height="{Binding Height}">
                                                    <TextBlock x:Name="text"
                                                        Text="{Binding DisplayName}"
                                                        VerticalAlignment="Center"
                                                        HorizontalAlignment="Center"
                                                        FontSize="22"
                                                        Foreground="White"></TextBlock>
                                                </Border>
                                            <ControlTemplate.Triggers>
                                                <Trigger Property="IsSelected" Value="True">
                                                    <Setter TargetName="text" Property="Foreground" Value="#FF47F5F5"></Setter>
                                                    <Setter TargetName="back" Property="BorderBrush" Value="#FF47F5F5"></Setter>
                                                </Trigger>
                                                <Trigger Property="IsEnabled" Value="False">
                                                    <Setter TargetName="text" Property="Foreground" Value="#FF89D7D4"></Setter>
                                                    <Setter TargetName="back" Property="BorderBrush" Value="Transparent"></Setter>
                                                </Trigger>
                                            </ControlTemplate.Triggers>
                                        </ControlTemplate>
                                    </Setter.Value>
                                </Setter>
                            </Style>
                        </ListBox.ItemContainerStyle>
                    </ListBox>
时间: 2024-09-29 01:03:36

WPF ListView ListBox 常用的样式记录的相关文章

WPF ItemsControl ListBox ListView比较

在进行列表信息展示时,WPF中提供多种列表可供选择.这篇博客将对WPF ItemsControl, ListBox, ListView进行比较. 相同点: 1. 这三个控件都是列表型控件,可以进行列表绑定(ItemsSource): 2. 这三个控件均使用ItemsPresenter来展示列表信息: 不同点: 控件层次关系: ItemsControl: System.Object  System.Windows.Threading.DispatcherObject System.Windows.

WPF中Listbox/ListView 横向展示/滑动内容的方法

<ListView Name="BoardListView" ScrollViewer.VerticalScrollBarVisibility="Hidden" Height="100" VerticalAlignment="Bottom"> <ListView.ItemsPanel> <ItemsPanelTemplate> <WrapPanel/> </ItemsPan

复杂 Listview 显示 多个样式

三种方式 目前为止有三种方法让Listview现实多个样式 最简单最常用的,通过addHeaderView或addFooterView,但是只能在首尾添加 较麻烦但正规的方式,通过getViewTypeCount[View有多少个样式]和getItemViewType[这个View是哪个样式]方法设置 较简单但不正规的方式,通过判断poison的值加载不同的布局,但这种方式可能有隐患[从代码中可以看出很不规范] addHeaderView方式 当listview需要添加headerview时,可

wpf ListView圆角

网上找了 好久 没找到好的 自己实现了3种 1.用clip属性 2.用装饰器Adorner 3.修改模板 1.clip 就是画一个圆角矩形 但是这个在listview  size 变化时 也要调用这个方法 代码如下: 1 using System; 2 using System.Windows; 3 using System.Windows.Media; 4 5 class ClipRadiusView 6 { 7 private static double DisX = 20; 8 priva

利用Powershell快速对WPF的ListBox 数据源的绑定

有时候,我们在封闭的环境中做开发工作,并没有那么多便捷的开发工具,只能利用当前系统自带的基本工具做开发, 比如利用强大的framework,而powershell就是很好的开发工具,在不安装visual studio的情况下,就能实现大部分功能. 下面就用一个简单的例子来实现WPF中ListBox 数据源的绑定 1.关于dataset,我就不做多解释了,简单来说,就是一个或多个DataTable 对象的集合. 用powershell来实现的话,是简单不过的事情了. #Create Table o

Android下用程序的方法为ListView设置分割线Divider样式

使用XML的时候可以使用android:divider属性为ListView设置分割线的样式(颜色或者资源文件),而在Java代码中默认提供的方法 listView.setDivider() 却只支持Drawable资源文件,为此费了一点时间想解决方法,后来才发现其实很简单,android提供创建颜色资源文件的方法,于是只需要用 listView.setDivider(new ColorDrawable(color)) 就可以解决问题了. 如果设置完Divider没有效果的话,设置divider

使用Sass预定义一些常用的样式,非常方便(转)

SS预处理技术现在已经非常成熟,比较流行的有Less,Sass,Stylus,在开发过程中提升我们的工作效率,缩短开发时间,方便管理和维护代码,可以根据自己的喜好选择一款自己喜欢的工具开发,使用很接近,差别很小,语法类似.再选择一款编译工具koala, 国产工具,koala是一个前端预处理器语言图形编译工具,支持Less.Sass.Compass.CoffeeScript,帮助web开发者更高效 地使用它们进行开发.跨平台运行,完美兼容windows.linux.mac.还可以在node.js里

使用Sass预定义一些常用的样式,非常方便

CSS预处理技术现在已经非常成熟,比较流行的有Less,Sass,Stylus,在开发过程中提升我们的工作效率,缩短开发时间,方便管理和维护代码,可以根据自己的喜好选择一款自己喜欢的工具开发,使用很接近,差别很小,语法类似.再选择一款编译工具koala,国产工具,koala是一个前端预处理器语言图形编译工具,支持Less.Sass.Compass.CoffeeScript,帮助web开发者更高效地使用它们进行开发.跨平台运行,完美兼容windows.linux.mac.还可以在node.js里编

4.3 常用的样式属性

CSS的属性非常庞大,庞大得好几本书都写不完,不过,没关系,我们可以从网上搜索相关资料或者查阅相关专著.这里只列出常用的且实用的CSS属性.下面我们就先来学习文本属性. 本节单词记忆:属性 1.background-color 2.background-image 3.text-align 4.background-repreat 5.margin 6.padding 7.border 网页学习网提示:html语言非常简单,不需要逻辑理解,而绝大部分朋友觉得它难以掌握,90%的原因在于英语单词不