<commit_before>﻿<UserControl x:Class="Dependencies.DependencyWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        xmlns:local="clr-namespace:Dependencies"
        xmlns:util="clr-namespace:Wpf.Util"
        mc:Ignorable="d" Height="800" Width="1500" >
    <UserControl.Resources>
        <local:ImageToHeaderConverter x:Key="img"/>
        <local:DelayedImageToHeaderConverter x:Key="imgdelayed"/>

        <Style x:Key="LeftAlignHeaderText" TargetType="{x:Type GridViewColumnHeader}">
            <Setter Property="HorizontalContentAlignment" Value="Left"></Setter>
        </Style>
    </UserControl.Resources>
    <Grid x:Name="ResizeElemGrid" Margin="0,0,0,0">
        <Grid.RowDefinitions>
            <RowDefinition Height="146*"/>
            <RowDefinition Height="3*"/>
            <RowDefinition Height="46*"/>
        </Grid.RowDefinitions>
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="300*"/>
            <ColumnDefinition Width="5*"/>
            <ColumnDefinition Width="600*"/>
        </Grid.ColumnDefinitions>
        <ListView x:Name="ModulesList" HorizontalContentAlignment="Stretch" VerticalContentAlignment="Stretch" Grid.ColumnSpan="3" Grid.Row="2" util:GridViewSort.AutoSort="True">
            <ListView.ItemContainerStyle>
                <Style TargetType="ListViewItem">
                    <Setter Property="HorizontalContentAlignment" Value="Stretch" />
                    <Setter Property="FontFamily" Value="Courier New" />
                </Style>
            </ListView.ItemContainerStyle>
            <ListView.View>
                <GridView AllowsColumnReorder="true">
                    <GridViewColumn Header="" Width="50" util:GridViewSort.PropertyName="Type">
                        <GridViewColumn.CellTemplate>
                            <DataTemplate>
                                <StackPanel Orientation="Horizontal">
                                    <Image Width="16" Height="16" Margin="0,0,1,0" Source="{Binding  Context, Converter={StaticResource imgdelayed} }"></Image>
                                    <Image Width="16" Height="16" Margin="0,0,5,0" Source="{Binding  Context, Converter={StaticResource img} }"></Image>
                                </StackPanel>
                                <!--<Image Width="30" Height="14" Source="{Binding IconUri}"/>-->
                            </DataTemplate>
                        </GridViewColumn.CellTemplate>
                    </GridViewColumn>
                    <GridViewColumn Header="Module" Width="300" DisplayMemberBinding="{Binding ModuleName}" util:GridViewSort.PropertyName="ModuleName" HeaderContainerStyle="{StaticResource LeftAlignHeaderText}"/>
                    <GridViewColumn Header="Machine" Width="60" DisplayMemberBinding="{Binding Cpu}" util:GridViewSort.PropertyName="Cpu" HeaderContainerStyle="{StaticResource LeftAlignHeaderText}"/>
                    <GridViewColumn Header="Type" Width="150" DisplayMemberBinding="{Binding Type}" util:GridViewSort.PropertyName="Type" HeaderContainerStyle="{StaticResource LeftAlignHeaderText}"/>
                    <!--<GridViewColumn Header="File Size" Width="100" DisplayMemberBinding="{Binding FileSize, TargetNullValue='', StringFormat={}0x{0:x08}}" util:GridViewSort.PropertyName="FileSize" HeaderContainerStyle="{StaticResource LeftAlignHeaderText}"/>-->
                    <GridViewColumn Header="Image Base" Width="100" DisplayMemberBinding="{Binding ImageBase, TargetNullValue='', StringFormat={}0x{0:x08}}" util:GridViewSort.PropertyName="ImageBase" HeaderContainerStyle="{StaticResource LeftAlignHeaderText}"/>
                    <GridViewColumn Header="Virtual Size" Width="100" DisplayMemberBinding="{Binding VirtualSize, TargetNullValue='', StringFormat={}0x{0:x08}}" util:GridViewSort.PropertyName="VirtualSize" HeaderContainerStyle="{StaticResource LeftAlignHeaderText}"/>
                    <GridViewColumn Header="Entry point" Width="100" DisplayMemberBinding="{Binding EntryPoint, TargetNullValue='', StringFormat={}0x{0:x08}}" util:GridViewSort.PropertyName="EntryPoint" HeaderContainerStyle="{StaticResource LeftAlignHeaderText}"/>
                    <GridViewColumn Header="Subsystem" Width="100" DisplayMemberBinding="{Binding Subsystem, TargetNullValue='', StringFormat={}0x{0:x08}}" util:GridViewSort.PropertyName="Subsystem" HeaderContainerStyle="{StaticResource LeftAlignHeaderText}"/>
                    <GridViewColumn Header="Subsystem Ver." Width="100" DisplayMemberBinding="{Binding SubsystemVersion}" util:GridViewSort.PropertyName="SubsystemVersion" HeaderContainerStyle="{StaticResource LeftAlignHeaderText}"/>
                    <GridViewColumn Header="Checksum" Width="100" DisplayMemberBinding="{Binding Checksum}" util:GridViewSort.PropertyName="Checksum" HeaderContainerStyle="{StaticResource LeftAlignHeaderText}"/>
                </GridView>
            </ListView.View>
        </ListView>
        <GridSplitter x:Name="LogSplitter" Grid.ColumnSpan="3" HorizontalAlignment="Stretch" HorizontalContentAlignment="Stretch" VerticalContentAlignment="Stretch" Grid.Row="1"/>
        <TreeView x:Name="DllTreeView"  HorizontalContentAlignment="Stretch" VerticalContentAlignment="Stretch" Padding="0" SelectedItemChanged="OnTreeViewSelectedItemChanged">
            <TreeView.Resources>
                <Style TargetType="local:ModuleTreeViewItem">
                    <Setter Property="HeaderTemplate">
                        <Setter.Value>
                            <DataTemplate>
                                <StackPanel Orientation="Horizontal">
                                    <Image Width="16" Height="16" Margin="0,0,1,0" Source="{Binding Path=DataContext, RelativeSource={RelativeSource AncestorLevel=1,AncestorType=TreeViewItem,Mode=FindAncestor}, Converter={StaticResource imgdelayed} }"></Image>
                                    <Image Width="16" Height="16" Margin="0,0,5,0" Source="{Binding Path=DataContext, RelativeSource={RelativeSource AncestorLevel=1,AncestorType=TreeViewItem,Mode=FindAncestor}, Converter={StaticResource img} }"></Image>
                                    <TextBlock Text="{Binding}"></TextBlock>
                                </StackPanel>
                            </DataTemplate>
                        </Setter.Value>
                    </Setter>
                </Style>
            </TreeView.Resources>
        </TreeView>
        <Grid x:Name="ImportExportGrid" Grid.Column="2">
            <Grid.RowDefinitions>
                <RowDefinition Height="145*"/>
                <RowDefinition Height="5*"/>
                <RowDefinition Height="142*"/>
            </Grid.RowDefinitions>
            <ListView x:Name="ImportList" HorizontalContentAlignment="Stretch" VerticalContentAlignment="Stretch" util:GridViewSort.AutoSort="True">
                <ListView.ItemContainerStyle>
                    <Style TargetType="ListViewItem">
                        <Setter Property="HorizontalContentAlignment" Value="Stretch" />
                        <Setter Property="FontFamily" Value="Courier New" />
                    </Style>
                </ListView.ItemContainerStyle>
                
                <ListView.View>
                    <GridView AllowsColumnReorder="true">
                        <GridViewColumn Header="PI" Width="40" util:GridViewSort.PropertyName="Type" HeaderContainerStyle="{StaticResource LeftAlignHeaderText}">
                            <GridViewColumn.CellTemplate>
                                <DataTemplate>
                                    <Image Width="30" Height="14" Source="{Binding IconUri}"/>
                                </DataTemplate>
                            </GridViewColumn.CellTemplate>
                        </GridViewColumn>
                        <GridViewColumn Header="Ordinal" Width="140" util:GridViewSort.PropertyName="Ordinal" HeaderContainerStyle="{StaticResource LeftAlignHeaderText}">
                            <GridViewColumn.CellTemplate>
                                <DataTemplate>
                                    <TextBlock Text="{Binding Ordinal, StringFormat={}{0} (0x{0:x08}), TargetNullValue='N/A' }" TextAlignment="Right" />
                                </DataTemplate>
                            </GridViewColumn.CellTemplate>
                        </GridViewColumn>
                        <GridViewColumn Header="Hint" Width="140" util:GridViewSort.PropertyName="Hint" HeaderContainerStyle="{StaticResource LeftAlignHeaderText}">
                            <GridViewColumn.CellTemplate>
                                <DataTemplate>
                                    <TextBlock Text="{Binding Hint, StringFormat={}{0} (0x{0:x08}), TargetNullValue='N/A' }" TextAlignment="Right" />
                                </DataTemplate>
                            </GridViewColumn.CellTemplate>
                        </GridViewColumn>
                        <GridViewColumn Header="Function" Width="250" DisplayMemberBinding="{Binding Name}" util:GridViewSort.PropertyName="Name" HeaderContainerStyle="{StaticResource LeftAlignHeaderText}"/>
                        <GridViewColumn Header="Module" Width="300" DisplayMemberBinding="{Binding ModuleName}" util:GridViewSort.PropertyName="ModuleName" HeaderContainerStyle="{StaticResource LeftAlignHeaderText}"/>
                        <GridViewColumn Header="Delayed" Width="100" DisplayMemberBinding="{Binding DelayImport}" util:GridViewSort.PropertyName="DelayImport" HeaderContainerStyle="{StaticResource LeftAlignHeaderText}"/>
                    </GridView>
                </ListView.View>
            </ListView>
            <ListView x:Name="ExportList" Grid.Row="2" HorizontalContentAlignment="Stretch" VerticalContentAlignment="Stretch" util:GridViewSort.AutoSort="True">
                <ListView.ItemContainerStyle>
                    <Style TargetType="ListViewItem">
                        <Setter Property="HorizontalContentAlignment" Value="Stretch" />
                        <Setter Property="FontFamily" Value="Courier New" />
                    </Style>
                </ListView.ItemContainerStyle>
                
                <ListView.View>
                    <GridView AllowsColumnReorder="true">
                        <GridViewColumn Header="E" Width="40" util:GridViewSort.PropertyName="Type" HeaderContainerStyle="{StaticResource LeftAlignHeaderText}">
                            <GridViewColumn.CellTemplate>
                                <DataTemplate>
                                    <Image Width="30" Height="14" Source="{Binding IconUri}"/>
                                    <!--<TextBlock Text="{Binding Index}" TextAlignment="Right" />--><commit_msg>[Dependencies] Add mockup of context menus<commit_after>﻿<UserControl x:Class="Dependencies.DependencyWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        xmlns:local="clr-namespace:Dependencies"
        xmlns:util="clr-namespace:Wpf.Util"
        xmlns:properties="clr-namespace:Dependencies.Properties"
        mc:Ignorable="d" Height="800" Width="1500" >
    <UserControl.Resources>
        <local:ImageToHeaderConverter x:Key="img"/>
        <local:DelayedImageToHeaderConverter x:Key="imgdelayed"/>

        <Style x:Key="LeftAlignHeaderText" TargetType="{x:Type GridViewColumnHeader}">
            <Setter Property="HorizontalContentAlignment" Value="Left"></Setter>
        </Style>
    </UserControl.Resources>
    
    
    
    <Grid x:Name="ResizeElemGrid" Margin="0,0,0,0">
        <Grid.RowDefinitions>
            <RowDefinition Height="146*"/>
            <RowDefinition Height="3*"/>
            <RowDefinition Height="46*"/>
        </Grid.RowDefinitions>
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="300*"/>
            <ColumnDefinition Width="5*"/>
            <ColumnDefinition Width="600*"/>
        </Grid.ColumnDefinitions>

        <ListView x:Name="ModulesList" 
            HorizontalContentAlignment="Stretch" 
            VerticalContentAlignment="Stretch" 
            Grid.ColumnSpan="3" 
            Grid.Row="2" 
            util:GridViewSort.AutoSort="True"
        >
            <ListView.Resources>
                <ContextMenu x:Key="ItemContextMenu">
                    <MenuItem Header="Highlight Matching Module In Tree" Command="{Binding Path=DataContext.MoreInfo, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=ListView}}" Background="WhiteSmoke" InputGestureText="Ctrl+M" IsEnabled="False" />
                    <Separator Height="3" Margin="-1,0,0,0"/>
                    <MenuItem Header="Copy Value" Command="{Binding Path=DataContext.MoreInfo, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=ListView}}" Background="WhiteSmoke" InputGestureText="Ctrl+C" IsEnabled="False"  />
                    <MenuItem Header="Select All" Command="{Binding Path=DataContext.MoreInfo, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=ListView}}" Background="WhiteSmoke" InputGestureText="Ctrl+A" IsEnabled="False"  />
                    <Separator Height="3" Margin="-1,0,0,0"/>
                    <MenuItem x:Name="_FullPathItem" Header="Full Paths" Height="25" InputGestureText="F9" IsCheckable="True" IsChecked="{Binding Source={x:Static properties:Settings.Default}, Path=FullPath, Mode=TwoWay}" Margin="0,0,0.2,0"/>
                    <Separator Height="3" Margin="-1,0,0,0"/>
                    <MenuItem Header="View Module in separate window" Command="{Binding Path=DataContext.MoreInfo, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=ListView}}" Background="WhiteSmoke" InputGestureText="Enter" IsEnabled="False"  />
                    <MenuItem Header="View Module in Peviewer" Command="{Binding Path=DataContext.MoreInfo, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=ListView}}" Background="WhiteSmoke" InputGestureText="Alt+Enter"  IsEnabled="False" />
                </ContextMenu>
            </ListView.Resources>
            
            <ListView.ItemContainerStyle>
                <Style TargetType="ListViewItem">
                    <Setter Property="HorizontalContentAlignment" Value="Stretch" />
                    <Setter Property="FontFamily" Value="Courier New" />
                    <Setter Property="ContextMenu" Value="{StaticResource ItemContextMenu}" />
                </Style>
            </ListView.ItemContainerStyle>
            
            <ListView.View>

                <GridView AllowsColumnReorder="true">
                    <GridViewColumn Header="" Width="50" util:GridViewSort.PropertyName="Type">
                        <GridViewColumn.CellTemplate>
                            <DataTemplate>
                                <StackPanel Orientation="Horizontal">
                                    <Image Width="16" Height="16" Margin="0,0,1,0" Source="{Binding  Context, Converter={StaticResource imgdelayed} }"></Image>
                                    <Image Width="16" Height="16" Margin="0,0,5,0" Source="{Binding  Context, Converter={StaticResource img} }"></Image>
                                </StackPanel>
                                <!--<Image Width="30" Height="14" Source="{Binding IconUri}"/>-->
                            </DataTemplate>
                        </GridViewColumn.CellTemplate>
                    </GridViewColumn>
                    <GridViewColumn Header="Module" Width="300" DisplayMemberBinding="{Binding ModuleName}" util:GridViewSort.PropertyName="ModuleName" HeaderContainerStyle="{StaticResource LeftAlignHeaderText}"/>
                    <GridViewColumn Header="Machine" Width="60" DisplayMemberBinding="{Binding Cpu}" util:GridViewSort.PropertyName="Cpu" HeaderContainerStyle="{StaticResource LeftAlignHeaderText}"/>
                    <GridViewColumn Header="Type" Width="150" DisplayMemberBinding="{Binding Type}" util:GridViewSort.PropertyName="Type" HeaderContainerStyle="{StaticResource LeftAlignHeaderText}"/>
                    <!--<GridViewColumn Header="File Size" Width="100" DisplayMemberBinding="{Binding FileSize, TargetNullValue='', StringFormat={}0x{0:x08}}" util:GridViewSort.PropertyName="FileSize" HeaderContainerStyle="{StaticResource LeftAlignHeaderText}"/>-->
                    <GridViewColumn Header="Image Base" Width="100" DisplayMemberBinding="{Binding ImageBase, TargetNullValue='', StringFormat={}0x{0:x08}}" util:GridViewSort.PropertyName="ImageBase" HeaderContainerStyle="{StaticResource LeftAlignHeaderText}"/>
                    <GridViewColumn Header="Virtual Size" Width="100" DisplayMemberBinding="{Binding VirtualSize, TargetNullValue='', StringFormat={}0x{0:x08}}" util:GridViewSort.PropertyName="VirtualSize" HeaderContainerStyle="{StaticResource LeftAlignHeaderText}"/>
                    <GridViewColumn Header="Entry point" Width="100" DisplayMemberBinding="{Binding EntryPoint, TargetNullValue='', StringFormat={}0x{0:x08}}" util:GridViewSort.PropertyName="EntryPoint" HeaderContainerStyle="{StaticResource LeftAlignHeaderText}"/>
                    <GridViewColumn Header="Subsystem" Width="100" DisplayMemberBinding="{Binding Subsystem, TargetNullValue='', StringFormat={}0x{0:x08}}" util:GridViewSort.PropertyName="Subsystem" HeaderContainerStyle="{StaticResource LeftAlignHeaderText}"/>
                    <GridViewColumn Header="Subsystem Ver." Width="100" DisplayMemberBinding="{Binding SubsystemVersion}" util:GridViewSort.PropertyName="SubsystemVersion" HeaderContainerStyle="{StaticResource LeftAlignHeaderText}"/>
                    <GridViewColumn Header="Checksum" Width="100" DisplayMemberBinding="{Binding Checksum}" util:GridViewSort.PropertyName="Checksum" HeaderContainerStyle="{StaticResource LeftAlignHeaderText}"/>
                </GridView>
            </ListView.View>
        </ListView>
        <GridSplitter x:Name="LogSplitter" Grid.ColumnSpan="3" HorizontalAlignment="Stretch" HorizontalContentAlignment="Stretch" VerticalContentAlignment="Stretch" Grid.Row="1"/>
        <TreeView x:Name="DllTreeView"  HorizontalContentAlignment="Stretch" VerticalContentAlignment="Stretch" Padding="0" SelectedItemChanged="OnTreeViewSelectedItemChanged">
            <TreeView.Resources>
                <Style TargetType="local:ModuleTreeViewItem">
                    <Setter Property="HeaderTemplate">
                        <Setter.Value>
                            <DataTemplate>
                                <StackPanel Orientation="Horizontal">
                                    <Image Width="16" Height="16" Margin="0,0,1,0" Source="{Binding Path=DataContext, RelativeSource={RelativeSource AncestorLevel=1,AncestorType=TreeViewItem,Mode=FindAncestor}, Converter={StaticResource imgdelayed} }"></Image>
                                    <Image Width="16" Height="16" Margin="0,0,5,0" Source="{Binding Path=DataContext, RelativeSource={RelativeSource AncestorLevel=1,AncestorType=TreeViewItem,Mode=FindAncestor}, Converter={StaticResource img} }"></Image>
                                    <TextBlock Text="{Binding}"></TextBlock>
                                </StackPanel>
                            </DataTemplate>
                        </Setter.Value>
                    </Setter>
                </Style>
            </TreeView.Resources>
        </TreeView>
        
        <Grid x:Name="ImportExportGrid" Grid.Column="2">
            
            <Grid.RowDefinitions>
                <RowDefinition Height="145*"/>
                <RowDefinition Height="5*"/>
                <RowDefinition Height="142*"/>
            </Grid.RowDefinitions>
            
            <ListView x:Name="ImportList" 
                      HorizontalContentAlignment="Stretch" 
                      VerticalContentAlignment="Stretch" 
                      util:GridViewSort.AutoSort="True"
            >
                <ListView.Resources>
                    <ContextMenu x:Key="ItemContextMenu">
                        <MenuItem Header="Highlight Matching Export Function" Command="{Binding Path=DataContext.MoreInfo, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=ListView}}" Background="WhiteSmoke" InputGestureText="Ctrl+M" IsEnabled="False"  />
                        <Separator Height="3" Margin="-1,0,0,0"/>
                        <MenuItem Header="Copy Value" Command="{Binding Path=DataContext.MoreInfo, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=ListView}}" Background="WhiteSmoke" InputGestureText="Ctrl+C" IsEnabled="False" />
                        <MenuItem Header="Select All" Command="{Binding Path=DataContext.MoreInfo, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=ListView}}" Background="WhiteSmoke" InputGestureText="Ctrl+A" IsEnabled="False"  />
                        <Separator Height="3" Margin="-1,0,0,0"/>
                        <MenuItem Header="_Undecorate C++ Functions" Height="26" InputGestureText="F10" IsCheckable="True" IsChecked="{Binding Source={x:Static properties:Settings.Default}, Path=Undecorate, Mode=TwoWay }"/>
                        <Separator Height="3" Margin="-1,0,0,0"/>
                        <MenuItem Header="Lookup Import function in MSDN" Command="{Binding Path=DataContext.MoreInfo, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=ListView}}" Background="WhiteSmoke" InputGestureText="Enter" IsEnabled="False"  />
                    </ContextMenu>
                </ListView.Resources>

                <ListView.ItemContainerStyle>
                    <Style TargetType="ListViewItem">
                        <Setter Property="HorizontalContentAlignment" Value="Stretch" />
                        <Setter Property="FontFamily" Value="Courier New" />
                        <Setter Property="ContextMenu" Value="{StaticResource ItemContextMenu}" />
                    </Style>
                </ListView.ItemContainerStyle>
                
                <ListView.View>
                    <GridView AllowsColumnReorder="true">
                        <GridViewColumn Header="PI" Width="40" util:GridViewSort.PropertyName="Type" HeaderContainerStyle="{StaticResource LeftAlignHeaderText}">
                            <GridViewColumn.CellTemplate>
                                <DataTemplate>
                                    <Image Width="30" Height="14" Source="{Binding IconUri}"/>
                                </DataTemplate>
                            </GridViewColumn.CellTemplate>
                        </GridViewColumn>
                        <GridViewColumn Header="Ordinal" Width="140" util:GridViewSort.PropertyName="Ordinal" HeaderContainerStyle="{StaticResource LeftAlignHeaderText}">
                            <GridViewColumn.CellTemplate>
                                <DataTemplate>
                                    <TextBlock Text="{Binding Ordinal, StringFormat={}{0} (0x{0:x08}), TargetNullValue='N/A' }" TextAlignment="Right" />
                                </DataTemplate>
                            </GridViewColumn.CellTemplate>
                        </GridViewColumn>
                        <GridViewColumn Header="Hint" Width="140" util:GridViewSort.PropertyName="Hint" HeaderContainerStyle="{StaticResource LeftAlignHeaderText}">
                            <GridViewColumn.CellTemplate>
                                <DataTemplate>
                                    <TextBlock Text="{Binding Hint, StringFormat={}{0} (0x{0:x08}), TargetNullValue='N/A' }" TextAlignment="Right" />
                                </DataTemplate>
                            </GridViewColumn.CellTemplate>
                        </GridViewColumn>
                        <GridViewColumn Header="Function" Width="250" DisplayMemberBinding="{Binding Name}" util:GridViewSort.PropertyName="Name" HeaderContainerStyle="{StaticResource LeftAlignHeaderText}"/>
                        <GridViewColumn Header="Module" Width="300" DisplayMemberBinding="{Binding ModuleName}" util:GridViewSort.PropertyName="ModuleName" HeaderContainerStyle="{StaticResource LeftAlignHeaderText}"/>
                        <GridViewColumn Header="Delayed" Width="100" DisplayMemberBinding="{Binding DelayImport}" util:GridViewSort.PropertyName="DelayImport" HeaderContainerStyle="{StaticResource LeftAlignHeaderText}"/>
                    </GridView>
                </ListView.View>
            </ListView>
            
            <ListView x:Name="ExportList" 
                      Grid.Row="2"
                      HorizontalContentAlignment="Stretch"
                      VerticalContentAlignment="Stretch"
                      util:GridViewSort.AutoSort="True"
            >

                <ListView.Resources>
                    <ContextMenu x:Key="ItemContextMenu">
                        <MenuItem Header="Highlight Matching Import Function" Command="{Binding Path=DataContext.MoreInfo, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=ListView}}" Background="WhiteSmoke" InputGestureText="Ctrl+M" IsEnabled="False" />
                        <Separator Height="3" Margin="-1,0,0,0"/>
                        <MenuItem Header="Copy Value" Command="{Binding Path=DataContext.MoreInfo, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=ListView}}" Background="WhiteSmoke" InputGestureText="Ctrl+C" IsEnabled="False" />
                        <MenuItem Header="Select All" Command="{Binding Path=DataContext.MoreInfo, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=ListView}}" Background="WhiteSmoke" InputGestureText="Ctrl+A" IsEnabled="False" />
                        <Separator Height="3" Margin="-1,0,0,0"/>
                        <MenuItem Header="_Undecorate C++ Functions" Height="26" InputGestureText="F10" IsCheckable="True" IsChecked="{Binding Source={x:Static properties:Settings.Default}, Path=Undecorate, Mode=TwoWay }"/>
                        <Separator Height="3" Margin="-1,0,0,0"/>
                        <MenuItem Header="Lookup Export function in MSDN" Command="{Binding Path=DataContext.MoreInfo, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=ListView}}" Background="WhiteSmoke" InputGestureText="Enter" IsEnabled="False" />
                    </ContextMenu>
                </ListView.Resources>

                <ListView.ItemContainerStyle>
                    <Style TargetType="ListViewItem">
                        <Setter Property="HorizontalContentAlignment" Value="Stretch" />
                        <Setter Property="FontFamily" Value="Courier New" />
                        <Setter Property="ContextMenu" Value="{StaticResource ItemContextMenu}" />
                    </Style>
                </ListView.ItemContainerStyle>
                
                <ListView.View>
                    <GridView AllowsColumnReorder="true">
                        <GridViewColumn Header="E" Width="40" util:GridViewSort.PropertyName="Type" HeaderContainerStyle="{StaticResource LeftAlignHeaderText}">
                            <GridViewColumn.CellTemplate>
                                <DataTemplate>
                                    <Image Width="30" Height="14" Source="{Binding IconUri}"/>
                                    <!--<TextBlock Text="{Binding Index}" TextAlignment="Right" />-->
{'fraction_non_alphanumeric': 0.11980624327233584, 'fraction_numerical': 0.015105848582705418, 'mean_word_length': 2.4803946053946055, 'pattern_counts': {'":': 0, '<': 313, '<?xml version=': 0, '>': 313, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 15}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 20, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1191571', 'n_tokens_mistral': 7330, 'n_tokens_neox': 6418, 'n_words': 1058}