mirror of
https://github.com/zodiacon/DotNextSP2019
synced 2026-06-08 18:37:46 +00:00
57 lines
3.7 KiB
XML
57 lines
3.7 KiB
XML
<UserControl x:Class="ExceptionLogger.Views.MainView"
|
|
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
|
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
|
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
|
xmlns:local="clr-namespace:ExceptionLogger.Views"
|
|
xmlns:metro="http://metro.mahapps.com/winfx/xaml/controls"
|
|
mc:Ignorable="d" x:Name="This"
|
|
d:DesignHeight="450" d:DesignWidth="800">
|
|
<Grid>
|
|
<Grid.RowDefinitions>
|
|
<RowDefinition Height="Auto" />
|
|
<RowDefinition Height="Auto" />
|
|
<RowDefinition Height="2*"/>
|
|
<RowDefinition />
|
|
</Grid.RowDefinitions>
|
|
<StackPanel Orientation="Horizontal" Margin="2" >
|
|
<ToggleButton IsChecked="{Binding IsLogging}" Content="Log Exceptions" Style="{StaticResource MetroFlatToggleButton}" Margin="4,2"/>
|
|
<Button Command="{Binding ClearCommand}" Content="Clear" Style="{StaticResource MetroFlatButton}" Margin="4,2"/>
|
|
</StackPanel>
|
|
<TextBox Grid.Row="1" Text="{Binding SearchText, Delay=300, UpdateSourceTrigger=PropertyChanged}" Width="300" Margin="2"
|
|
metro:TextBoxHelper.Watermark="Type to filter" metro:TextBoxHelper.ClearTextButton="True" HorizontalAlignment="Left" />
|
|
|
|
<DataGrid Grid.Row="2" IsReadOnly="True" AutoGenerateColumns="False" metro:ButtonHelper.PreserveTextCase="True" Margin="2" ItemsSource="{Binding Exceptions}">
|
|
<DataGrid.Columns>
|
|
<DataGridTextColumn Header="Time" Binding="{Binding TimeAsString}" />
|
|
<DataGridTextColumn Header="PID" Binding="{Binding ProcessId}" />
|
|
<DataGridTextColumn Header="Name" Binding="{Binding ProcessName}" FontWeight="Bold" />
|
|
<DataGridTextColumn Header="TID" Binding="{Binding ThreadId}" />
|
|
<DataGridTextColumn Header="Type" Binding="{Binding ExceptionType}" FontWeight="Bold" />
|
|
<DataGridTextColumn Header="Flags" Binding="{Binding ExceptionFlags}" />
|
|
<DataGridTextColumn Header="Message" Binding="{Binding ExceptionMessage}" />
|
|
<DataGridTextColumn Header="Handling Time" Binding="{Binding ExceptionHandlingTime}" />
|
|
<DataGridTemplateColumn Header="Stack Trace" CanUserSort="False">
|
|
<DataGridTemplateColumn.CellTemplate>
|
|
<DataTemplate>
|
|
<Button Command="{Binding DataContext.ShowStackCommand, ElementName=This}" CommandParameter="{Binding}" Margin="2,0" Content="Stack"
|
|
Style="{StaticResource MetroFlatButton}"/>
|
|
</DataTemplate>
|
|
</DataGridTemplateColumn.CellTemplate>
|
|
</DataGridTemplateColumn>
|
|
</DataGrid.Columns>
|
|
</DataGrid>
|
|
|
|
<DataGrid Grid.Row="3" IsReadOnly="True" AutoGenerateColumns="False" metro:ButtonHelper.PreserveTextCase="True" Margin="2" ItemsSource="{Binding AggregatedExceptions}">
|
|
<DataGrid.Columns>
|
|
<DataGridTextColumn Header="PID" Binding="{Binding ProcessId}" />
|
|
<DataGridTextColumn Header="Name" Binding="{Binding ProcessName}" />
|
|
<DataGridTextColumn Header="Type" Binding="{Binding ExceptionType}" />
|
|
<DataGridTextColumn Header="# Exceptions" Binding="{Binding Count}" />
|
|
</DataGrid.Columns>
|
|
</DataGrid>
|
|
|
|
<GridSplitter Grid.Row="2" VerticalAlignment="Bottom" Margin="0,-1" Background="{DynamicResource BlackBrush}" Height="2" HorizontalAlignment="Stretch"/>
|
|
</Grid>
|
|
</UserControl>
|