Repository navigation
Expand file tree
/
Copy pathCustomColumnsWindow.xaml
More file actions
74 lines (70 loc) · 3.9 KB
/
Copy pathCustomColumnsWindow.xaml
File metadata and controls
74 lines (70 loc) · 3.9 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
<Window x:Class="HttpTraceAnalyser.CustomColumnsWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:sys="clr-namespace:System;assembly=System.Runtime"
xmlns:model="clr-namespace:HttpTraceAnalyser.Model"
Title="Custom Columns" Height="460" Width="900"
MinHeight="360" MinWidth="720"
WindowStartupLocation="CenterOwner"
Background="{DynamicResource ApplicationBackgroundBrush}"
Foreground="{DynamicResource TextFillColorPrimaryBrush}">
<Window.Resources>
<ObjectDataProvider x:Key="HeaderSourceValues" MethodName="GetValues" ObjectType="{x:Type sys:Enum}">
<ObjectDataProvider.MethodParameters>
<x:Type TypeName="model:HeaderSource" />
</ObjectDataProvider.MethodParameters>
</ObjectDataProvider>
</Window.Resources>
<DockPanel Margin="10">
<Grid DockPanel.Dock="Top" Margin="0,0,0,10">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<StackPanel Grid.Column="0" Orientation="Horizontal">
<Button Content="Load..." Width="80" Margin="0,0,8,0" Click="LoadButton_Click" />
<Button Content="Save As..." Width="80" Click="SaveButton_Click" />
</StackPanel>
</Grid>
<Grid DockPanel.Dock="Bottom" Margin="0,10,0,0">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="*" />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<StackPanel Grid.Column="0" Orientation="Horizontal">
<Button Content="Add" Width="80" Margin="0,0,8,0" Click="AddButton_Click" />
<Button Content="Remove" Width="80" Click="RemoveButton_Click" />
</StackPanel>
<StackPanel Grid.Column="2" Orientation="Horizontal">
<Button Content="OK" Width="80" Margin="0,0,8,0"
IsDefault="True" Click="OkButton_Click" />
<Button Content="Cancel" Width="80" IsCancel="True" />
</StackPanel>
</Grid>
<TextBlock DockPanel.Dock="Top" Margin="0,0,0,8" TextWrapping="Wrap"
Text="Header name and value patterns use regular expressions. If a value pattern has a capture group, the first group becomes the column value." />
<TextBlock DockPanel.Dock="Top" Margin="0,0,0,8">
<Hyperlink Click="RegexCheatSheetLink_Click">Regex cheat sheet</Hyperlink>
</TextBlock>
<DataGrid x:Name="ColumnsGrid" AutoGenerateColumns="False"
CanUserAddRows="False" CanUserDeleteRows="False"
SelectionMode="Extended">
<DataGrid.Columns>
<DataGridTextColumn Header="Column name"
Binding="{Binding Name, UpdateSourceTrigger=PropertyChanged}"
Width="160" />
<DataGridComboBoxColumn Header="Headers from"
ItemsSource="{Binding Source={StaticResource HeaderSourceValues}}"
SelectedItemBinding="{Binding Source}"
Width="170" />
<DataGridTextColumn Header="Header name pattern"
Binding="{Binding HeaderNamePattern, UpdateSourceTrigger=PropertyChanged}"
Width="240" />
<DataGridTextColumn Header="Value pattern (optional)"
Binding="{Binding ValuePattern, UpdateSourceTrigger=PropertyChanged}"
Width="*" />
</DataGrid.Columns>
</DataGrid>
</DockPanel>
</Window>