ListView.xaml 2.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. <ListView x:Class="CustomControls.ListView"
  2. xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  3. xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  4. ScrollViewer.ScrollChanged="ListView_ScrollChanged">
  5. <ListView.ItemTemplate>
  6. <DataTemplate>
  7. <StackPanel Orientation="Horizontal" Margin="2,1,2,1">
  8. <Image Source="{Binding ImageSource}" Width="{Binding ImageSourceWidth}" Height="{Binding ImageSourceHeight}" Margin="0,0,4,0"/>
  9. <TextBlock x:Name="PART_TextBlock" Text="{Binding Text}" VerticalAlignment="Center"/>
  10. <TextBox x:Name="PART_TextBox" Text="{Binding Text, UpdateSourceTrigger=PropertyChanged}" Height="18" Margin="-3,-1,-3,-1" Visibility="Collapsed" IsVisibleChanged="PART_TextBox_IsVisibleChanged" LostFocus="PART_TextBox_LostFocus" KeyDown="PART_TextBox_KeyDown" />
  11. </StackPanel>
  12. <DataTemplate.Triggers>
  13. <DataTrigger Binding="{Binding IsEditing}" Value="true">
  14. <Setter TargetName="PART_TextBlock" Property="Visibility" Value="Collapsed"/>
  15. <Setter TargetName="PART_TextBox" Property="Visibility" Value="Visible"/>
  16. </DataTrigger>
  17. </DataTemplate.Triggers>
  18. </DataTemplate>
  19. </ListView.ItemTemplate>
  20. <ListView.ItemContainerStyle>
  21. <Style TargetType="{x:Type ListViewItem}">
  22. <Setter Property="HorizontalAlignment" Value="Left"/>
  23. <Setter Property="FocusVisualStyle" Value="{x:Null}"/>
  24. <Setter Property="IsSelected" Value="{Binding IsSelected, Mode=TwoWay}" />
  25. </Style>
  26. </ListView.ItemContainerStyle>
  27. <ListView.GroupStyle>
  28. <GroupStyle>
  29. <GroupStyle.HeaderTemplate>
  30. <DataTemplate>
  31. <Grid UseLayoutRounding="True">
  32. <Grid.ColumnDefinitions>
  33. <ColumnDefinition Width="Auto"/>
  34. <ColumnDefinition Width="*"/>
  35. </Grid.ColumnDefinitions>
  36. <Grid.RowDefinitions>
  37. <RowDefinition Height="*"/>
  38. <RowDefinition Height="*"/>
  39. </Grid.RowDefinitions>
  40. <TextBlock Foreground="#003399" Text="{Binding Name}" Margin="4,0,4,0" Grid.RowSpan="2"/>
  41. <Border BorderBrush="#B0C0E0" BorderThickness="0,1,0,0" Margin="0,0,4,0" Grid.Column="1" Grid.Row="1"/>
  42. </Grid>
  43. </DataTemplate>
  44. </GroupStyle.HeaderTemplate>
  45. </GroupStyle>
  46. </ListView.GroupStyle>
  47. <ListView.Resources>
  48. <Style x:Key="HiddenHeader" TargetType="GridViewColumnHeader">
  49. <Setter Property="Template" Value="{x:Null}" />
  50. </Style>
  51. </ListView.Resources>
  52. </ListView>