zoukankan      html  css  js  c++  java
  • Wpf ListView展示风格

    ListView数据绑定控件,通常是竖列展示,也可以通过改变ListView的布局来改变它的展示方式

    如图展示:

    主要需用修改的样式如下:

     1   <!--GridView Header样式 去除Gridview自带的Header框-->
     2         <Style TargetType="{x:Type GridViewColumnHeader}" >
     3             <Setter Property="HorizontalContentAlignment" Value="Center"/>
     4             <Setter Property="FrameworkElement.Visibility" Value="Hidden"/>
     5             <Setter Property="Height" Value="0"></Setter>
     6         </Style>
     7         <!--ListView 布局样式 使图片可以横向展示-->
     8         <Style  TargetType="{x:Type ListView}" >
     9             <Setter Property='ItemsPanel'>
    10                 <Setter.Value>
    11                     <ItemsPanelTemplate>
    12                         <WrapPanel  Width="{Binding (FrameworkElement.ActualWidth), RelativeSource={RelativeSource   AncestorType=ScrollContentPresenter}}"></WrapPanel>
    13                     </ItemsPanelTemplate>
    14                 </Setter.Value>
    15             </Setter>
    16          </Style>
    17         
    18         <!--ListView Item样式和点击后样式模板-->
    19         <ControlTemplate x:Key="ListViewItemTemplate" TargetType="ListBoxItem">
    20             <Border Name="Border">
    21                 <StackPanel>
    22                     <GridViewRowPresenter>
    23                     </GridViewRowPresenter>
    24                 </StackPanel>
    25             </Border>
    26             <ControlTemplate.Triggers>
    27                 <Trigger Property="IsSelected" Value="true">
    28                     <Setter TargetName="Border"  Property="Background" Value="#ffffff"/>
    29                 </Trigger> 
    30                 <Trigger Property="IsMouseOver" Value="True">
    31                     <Setter TargetName="Border"  Property="Background" Value="#ffffff"/>
    32                 </Trigger>
    33             </ControlTemplate.Triggers>
    34         </ControlTemplate>
    35         <!--ListView Item样式和点击后样式-->
    36         <Style x:Key="{x:Type ListViewItem}"  TargetType="ListViewItem">
    37             <Setter Property="Template" Value="{StaticResource ListViewItemTemplate}"/>
    38             <Setter Property="FocusVisualStyle" Value="{x:Null}"></Setter> 
    39         </Style>

    Xaml代码如下:

    <!-- ListView 中的ScrollViewer.HorizontalScrollBarVisibility="Disabled" 代码的意思是为了让WrapPanel 可以自带换行--> 
    <ListView Name="LCon" ScrollViewer.HorizontalScrollBarVisibility="Disabled">
                                <ListView.View>
                                    <GridView >
                                        <GridView.Columns>
                                            <GridViewColumn > 
                                                <GridViewColumnHeader></GridViewColumnHeader>
                                                <GridViewColumn.CellTemplate>
                                                    <DataTemplate>
                                                        <StackPanel Margin="10 20 0 0" >
                                                            <Border Width="112" Height="167" Name="Bor_Movie1" >
                                                                <Border.Background>
                                                                    <ImageBrush ImageSource="{Binding MovieImageUrl}"></ImageBrush>
                                                                </Border.Background>
                                                            </Border>
                                                            <Label MaxWidth="112"  Margin="0,10,0,0" >
                                                                <TextBlock TextWrapping="Wrap" TextAlignment="Center" FontSize="12" FontWeight="Bold" Text="{Binding Movie_Tilte}" Height="27" Width="105"></TextBlock>
                                                            </Label>
                                                        </StackPanel>
                                                    </DataTemplate>
                                                </GridViewColumn.CellTemplate>
                                            </GridViewColumn>
                                        </GridView.Columns>
                                    </GridView>
                                </ListView.View>
                            </ListView>
  • 相关阅读:
    MyEclipe 配置 ivy 插件
    PHP 向 MySql 中数据修改操作时,只对数字操作有效,非数字操作无效,怎么办?
    Hadoop 中 Eclipse 的配置
    Hadoop 配置好hive,第一次在conf能进入,第二次就不行了,怎么办?
    7系列FPGA远程更新方案-QuickBoot(转)
    Serial interface (RS-232)
    Linux下安装微信(转)
    《图解HTTP》读书笔记(转)
    《图解TCP/IP》读书笔记(转)
    7 Serial Configuration 理解(三)
  • 原文地址:https://www.cnblogs.com/xiao-bei/p/4549320.html
Copyright © 2011-2022 走看看