特殊的 ListBox (WPF Code)

来源:互联网 发布:安卓用什么看电影软件 编辑:程序博客网 时间:2024/05/29 10:44
    <Window.Resources>      <!--ListBoxItem Style-->        <Style x:Key="lbiOri" TargetType="{x:Type ListBoxItem}">            <Style.Resources>                <SolidColorBrush Color="#FF6DD48F" x:Key="{x:Static SystemColors.HighlightBrushKey}"/>                <SolidColorBrush Color="Black" x:Key="{x:Static SystemColors.HighlightTextBrushKey}"/>                <SolidColorBrush Color="#FF6DD48F"  x:Key="{x:Static SystemColors.ControlBrushKey}"/>                                  <SolidColorBrush Color="Black" x:Key="{x:Static SystemColors.ControlTextBrushKey}"/>            </Style.Resources>            <EventSetter Event="Selected" Handler="item_MouseLeftButtonDown"/>                    </Style>            <!--ListBox ControlTemplate-->        <Style x:Key="listBox" TargetType="{x:Type ListBox}">                                         <Setter Property="Template">                <Setter.Value>                    <ControlTemplate TargetType="{x:Type ListBox}">                        <Border  CornerRadius ="6"                         Background="LightGreen" BorderBrush="{TemplateBinding Border.BorderBrush}"BorderThickness="{TemplateBinding Border.BorderThickness}">                                                       <!--以下句是重点ScrollViewer设置了listbox只能是垂直的                                WrapPanel设置ScrollView的内容是可以换行显示的,并且WrapPanel是项的宿主-->                            <ScrollViewer  VerticalScrollBarVisibility="Auto" HorizontalScrollBarVisibility="Disabled">                                <WrapPanel IsItemsHost="True" />                               </ScrollViewer>                                                   </Border>                    </ControlTemplate>                </Setter.Value>            </Setter>            <!--ListBox DataTemplate-->            <Setter Property="ItemTemplate">                <Setter.Value>                    <DataTemplate>                        <Grid Name="bgGrid"                               MouseEnter="bgGrid_MouseEnter"                               MouseLeave="bgGrid_MouseLeave">                                                                                          <Grid.ColumnDefinitions>                                <ColumnDefinition  Width="140"  />                                <ColumnDefinition  Width="80"  />                            </Grid.ColumnDefinitions>                            <Grid.RowDefinitions>                                <RowDefinition  Height="200" />                                <RowDefinition  Height="30" />                            </Grid.RowDefinitions>                            <Border Grid.Row="0"  Grid.Column="0" Grid.ColumnSpan="2" Margin="25,20,25,0"                                     BorderThickness="2" CornerRadius="4" HorizontalAlignment="Center">                                <Border.BorderBrush>                                    <LinearGradientBrush>                                        <GradientStop Color="#aaa" Offset="0" />                                        <GradientStop Color="#222" Offset="1" />                                    </LinearGradientBrush>                                </Border.BorderBrush>                                                                <Grid Name="iconShow"  MouseEnter="iconShow_MouseEnter" MouseLeave="iconShow_MouseLeave">                                    <Rectangle>                                        <Rectangle.Fill>                                            <LinearGradientBrush StartPoint="0,0" EndPoint="0,1">                                                <GradientStop Color="LightGreen" Offset="0" />                                                <GradientStop Color="#FF6DC230" Offset="1" />                                            </LinearGradientBrush>                                        </Rectangle.Fill>                                    </Rectangle>                                    <Image Stretch="Fill" Width="120" Height="160" Margin="2"                                           Source="Images\default.jpg" ToolTip="暂无预览图"/>                                    <Image Stretch="Fill" Width="160" Height="200"  Margin="2"                                            Source="{Binding Path}" Name="imgMedia"/>                                    <Image Name="imgTry"  Stretch="Fill" Width="90" Height="65" Cursor="Hand"                                           Source="Images\start1.png" Visibility="Hidden" MouseLeave="imgTry_MouseLeave"                                           MouseEnter="imgTry_MouseEnter"  MouseLeftButtonDown="imgTry_MouseLeftButtonDown"                                           MouseLeftButtonUp="imgTry_MouseLeftButtonUp"/>                                                                  </Grid>                            </Border>                            <TextBlock Name="tbkName"  Grid.Row="1" Grid.Column="0"  FontSize="14" HorizontalAlignment="Center"                                       Margin="65,5,0,5" Text="{Binding MediaName}" TextTrimming="CharacterEllipsis"                                       ToolTip="{Binding Path=Text, RelativeSource={x:Static RelativeSource.Self}}"/>                            <RadioButton Grid.Row="1" Grid.Column="1" Margin="0,7,30,5"                                          IsChecked="{Binding Path=IsChoosed,NotifyOnTargetUpdated=True,Mode=TwoWay}"                                           Name="rbChoose" Content="" GroupName="rb"/>                        </Grid>                    </DataTemplate>                </Setter.Value>            </Setter>                            </Style>               <!--ListBox ScrollBar-->        <Style x:Key="{x:Type ScrollBar}" TargetType="{x:Type ScrollBar}">            <Setter Property="Background" Value="#FF6DC255"/>            <Setter Property="Opacity" Value="0.6"/>           </Style>    </Window.Resources>    <!--Use it-->        <ListBox Grid.Row="1" Grid.Column="2" Margin="5" Height="280" Name="mediaList"                 Style="{StaticResource ResourceKey=listBox}"                 ItemContainerStyle="{StaticResource lbiOri}"/>            

0 0
原创粉丝点击