构建数据源
- <Window.Resources>
- <x:ArrayExtension x:Key="stringList"
- xmlns="clr-namespace:System;assembly=mscorlib"
- Type="String">
- <String>第一行String>
- <String>第二行String>
- <String>第三行String>
- <String>第四行String>
- x:ArrayExtension>
- Window.Resources>
1.
ListView.ItemContainerStyle 中存放触发器
ListView.View中存放数据
这样只能按列显示多列多行,不能多行多列作为一项显示
如下所示:
- <ListView Grid.Row="0" Name="ItemList" ItemsSource="{StaticResource stringList}" >
- <ListView.ItemContainerStyle>
- <Style TargetType="{x:Type ListViewItem}">
- <Setter Property="FontSize" Value="15" />
- <Setter Property="Margin" Value="0,-40,0,40" />
- <Style.Triggers>
- <Trigger Property="IsSelected" Value="True">
- <Setter Property="Background" Value="#9C71B9" />
- <Setter Property="Foreground" Value="white" />
- Trigger>
- <Trigger Property="IsMouseOver" Value="True">
- <Setter Property="Background" Value="Green" />
- <Setter Property="Foreground" Value="white" />
- Trigger>
- <Trigger Property="IsEnabled" Value="False">
- <Setter Property="Background" Value="#757575" />
- <Setter Property="Foreground" Value="black" />
- Trigger>
- Style.Triggers>
- Style>
- ListView.ItemContainerStyle>
- <ListView.View>
- <GridView>
- <GridViewColumn>
- <GridViewColumn Header="Name" Width="120" DisplayMemberBinding="{Binding}" />
- GridViewColumn>
- GridView>
- ListView.View>
- ListView>
2.
ListView.ItemContainerStyle 中存放触发器
ListView.ItemTemplate中存放数据
如下所示:
- <ListView Name="ItemList" ItemsSource="{StaticResource stringList}">
- <ListView.ItemContainerStyle>
- <Style TargetType="{x:Type ListViewItem}">
- <Setter Property="FontSize" Value="15" />
- <Setter Property="Margin" Value="0,-40,0,40" />
- <Style.Triggers>
- <Trigger Property="IsSelected" Value="True">
- <Setter Property="Background" Value="#9C71B9" />
- <Setter Property="Foreground" Value="white" />
- Trigger>
- <Trigger Property="IsMouseOver" Value="True">
- <Setter Property="Background" Value="Green" />
- <Setter Property="Foreground" Value="white" />
- Trigger>
- Style.Triggers>
- Style>
- ListView.ItemContainerStyle>
- <ListView.ItemTemplate>
- <DataTemplate>
- <StackPanel >
- <StackPanel Orientation="Horizontal">
- <TextBlock Text="{Binding }" Height="30" Name="Label_Amount" Width="100" Foreground="White"/>
-
- StackPanel>
- StackPanel>
- DataTemplate>
- ListView.ItemTemplate>
- ListView>
3. 只有ListView.ItemContainerStyle,可以生效
数据放在
- <ListView Width="300" Height="400" x:Name="celist" ItemsSource="{StaticResource stringList}" Background="Black">
- <ListView.ItemContainerStyle>
- <Style TargetType="ListViewItem">
- <Setter Property="Template">
- <Setter.Value>
- <ControlTemplate TargetType="ListBoxItem">
- <Border Background="{TemplateBinding Background}">
- <StackPanel >
- <StackPanel Orientation="Horizontal">
- <TextBlock Text="{Binding }" Height="30" Name="Label_Amount" Width="100" Foreground="White"/>
-
- StackPanel>
- <StackPanel HorizontalAlignment="Left" Orientation="Horizontal">
- <TextBlock Text="{Binding }" Name="Label_ShortDescription" Width="200" Foreground="White"/>
-
- StackPanel>
- StackPanel>
- Border>
- ControlTemplate>
- Setter.Value>
- Setter>
-
- <Style.Triggers>
- <Trigger Property="IsSelected" Value="True">
- <Setter Property="Background" Value="#9C71B9" />
- <Setter Property="Foreground" Value="white" />
- Trigger>
- <Trigger Property="IsMouseOver" Value="True">
- <Setter Property="Background" Value="Green" />
- <Setter Property="Foreground" Value="white" />
- Trigger>
- Style.Triggers>
- Style>
- ListView.ItemContainerStyle>
- ListView>