<TabControl SelectedIndex="0" Margin="0,5,0,5" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
    <TabItem Header="Json">
        <Grid>
            <Grid.ColumnDefinitions>
                <ColumnDefinition Width="Auto" />
                <ColumnDefinition Width="*" />
            </Grid.ColumnDefinitions>
            <Grid.RowDefinitions>
                <RowDefinition Height="Auto" />
                <RowDefinition Height="*" />
                <RowDefinition Height="Auto" />
            </Grid.RowDefinitions>

            <TextBox Name="txtValue" 
                    Grid.Column="1" Grid.Row="1"
                    ScrollViewer.HorizontalScrollBarVisibility="Auto"
                    ScrollViewer.VerticalScrollBarVisibility="Auto"
                    ScrollViewer.CanContentScroll="True"
                    IsReadOnly="True"
                    MinWidth="250" Margin="0" AcceptsReturn="True" />

            <WrapPanel Name="pnlButtons" Grid.Row="2" Grid.ColumnSpan="2" HorizontalAlignment="Right" Margin="0,5,0,0">
                <Button Name="btnFull" MinWidth="100" Margin="0,0,5,0" ToolTip="Load full info of the object">Load full</Button>
                <Button Name="btnCopy" MinWidth="100" Margin="0,0,0,0" ToolTip="Copy text to clipboard">Copy</Button>
            </WrapPanel>
        </Grid>
    </TabItem>
    <TabItem Header="Settings">
        <Grid>
            <Grid.ColumnDefinitions>
                <ColumnDefinition Width="Auto" />
                <ColumnDefinition Width="*" />
            </Grid.ColumnDefinitions>
            <Grid.RowDefinitions>
                <RowDefinition Height="Auto" />
                <RowDefinition Height="Auto" />
                <RowDefinition Height="Auto" />
                <RowDefinition Height="Auto" />
            </Grid.RowDefinitions>

            <StackPanel Orientation="Horizontal" Margin="0,5,5,0" Grid.Row="0" HorizontalAlignment="Left">
                <Label Content="Name" />    
                <Rectangle Style="{DynamicResource InfoIcon}" ToolTip="Name of the object" />
            </StackPanel>
            <TextBox Name="txtObjectName" Margin="0,5,5,0" Grid.Row="0" Grid.Column="1" />

            <StackPanel Orientation="Horizontal" Margin="0,5,5,0" Grid.Row="1" HorizontalAlignment="Left" VerticalAlignment="Top">
                <Label Content="Description" />    
                <Rectangle Style="{DynamicResource InfoIcon}" ToolTip="Description for the object" Margin="0,2,0,0" />
            </StackPanel>
            <TextBox Name="txtObjectDescription" Margin="0,5,5,0" Grid.Row="1" Grid.Column="1" AcceptsReturn="True" Height="100" />

            <StackPanel Orientation="Horizontal" Grid.Column="1" Margin="5,5,5,0" Grid.Row="2" Grid.ColumnSpan="2" HorizontalAlignment="Right">
                <Button Name="btnObjectSettingsSave" Content="Save" Margin="0,0,0,0"  Width="100" />
            </StackPanel> 
        </Grid>
    </TabItem>
    <TabItem Header="Columns">    
        <Grid>
            <Grid.ColumnDefinitions>
                <ColumnDefinition Width="Auto" />
                <ColumnDefinition Width="Auto" />
                <ColumnDefinition Width="*" />
            </Grid.ColumnDefinitions>
            <Grid.RowDefinitions>
                <RowDefinition Height="Auto" />
                <RowDefinition Height="*" />
                <RowDefinition Height="Auto" />
            </Grid.RowDefinitions>

            <StackPanel Orientation="Horizontal" Margin="0,0,5,0" >
                <Label Content="Properties" />
                <Rectangle Style="{DynamicResource InfoIcon}" ToolTip="Properties of the current object" />
            </StackPanel>

            <ListBox Name="lstObjectProperties" SelectionMode="Single" Grid.Row="1" Grid.RowSpan="99" MinWidth="100" DisplayMemberPath="Name">             
            </ListBox>            

            <StackPanel Grid.Row="1" Grid.Column="1" Margin="5,0,5,0">
                <Button Content=">" Name="btnObjectColumnsAdd" Width="50" ToolTip="Add property" />
            </StackPanel> 

            <ScrollViewer VerticalScrollBarVisibility="Auto" HorizontalScrollBarVisibility="Auto" Grid.Row="1" Grid.Column="2">
            <Grid>
                <Grid.ColumnDefinitions>
                    <ColumnDefinition Width="Auto" />
                    <ColumnDefinition Width="*" />
                </Grid.ColumnDefinitions>
                <Grid.RowDefinitions>
                    <RowDefinition Height="Auto" />
                    <RowDefinition Height="Auto" />
                    <RowDefinition Height="Auto" />
                    <RowDefinition Height="Auto" />
                    <RowDefinition Height="Auto" />
                </Grid.RowDefinitions>

                <ListBox Name="lstObjectColumns" SelectionMode="Single" Grid.Row="0" MinWidth="150" DisplayMemberPath="Property" Height="200">             
                </ListBox>            

                <StackPanel Grid.Column="1" Margin="5,0,0,0" HorizontalAlignment="Left" VerticalAlignment="Center">
                    <Button Content="Up" Name="btnObjectColumnsMoveUp" Width="50" ToolTip="Move the selected column up" />
                    <Button Content="Down" Name="btnObjectColumnsMoveDown" Width="50" ToolTip="Move the selected column down" Margin="0,5,0,0"/>
                    <Button Content="Delete" Name="btnObjectColumnsDelete" Width="50" ToolTip="Delete the selected column" Margin="0,5,0,0"/>
                    <Button Content="Clear" Name="btnObjectColumnsClear" Width="50" ToolTip="Delete all custom columns" Margin="0,5,0,0"/>
                </StackPanel> 

                <CheckBox Grid.Row='1' Name='chkObjectColumnOverride' Grid.ColumnSpan="2" Content="Override default columns" VerticalAlignment="Center" ToolTip="Do not add default columns first. If this is checked then only the properties in the list will be displayed"  />
                
                <Grid Grid.Row="3" Grid.ColumnSpan="2" Name="grdObjectColumns">
                    <Grid.ColumnDefinitions>
                        <ColumnDefinition Width="Auto" />
                        <ColumnDefinition Width="*" />
                    </Grid.ColumnDefinitions>
                    <Grid.RowDefinitions>
                        <RowDefinition Height="Auto" />
                        <RowDefinition Height="Auto" />
                        <RowDefinition Height="Auto" />
                        <RowDefinition Height="Auto" />
                        <RowDefinition Height="*" />
                    </Grid.RowDefinitions>

                    <StackPanel Orientation="Horizontal" Margin="0,5,5,0" Grid.Row="0" HorizontalAlignment="Left">
                        <Label Content="Property" />    
                        <Rectangle Style="{DynamicResource InfoIcon}" ToolTip="Property to display. Sub properties and array values are supported eg files[0].displayName" />
                    </StackPanel>
                    <TextBox Name="txtObjectColumnsProperty" Text="{Binding Property}" Margin="0,5,5,0" Grid.Row="0" Grid.Column="1" />

                    <StackPanel Orientation="Horizontal" Margin="0,5,5,0" Grid.Row="1">
                        <Label Content="Header" />
                        <Rectangle Style="{DynamicResource InfoIcon}" ToolTip="Header for the property. Name of property will be used if not specified" />
                    </StackPanel>
                    <TextBox Name="txtObjectColumnsHeader" Text="{Binding Header}"  Margin="0,5,5,0" Grid.Row="1" Grid.Column="1" Grid.ColumnSpan="2"  />

                    <StackPanel Orientation="Horizontal" Margin="0,5,5,0" Grid.Row="2"  HorizontalAlignment="Left">
                        <Label Content="Current settings:" />    
                        <Rectangle Style="{DynamicResource InfoIcon}" ToolTip="Current property settings. Only updated when saved" />
                    </StackPanel>                    
                    <Label Name="lblObjectColumnsConfig" Content="" Margin="0,0,5,0" Grid.Row="3" Grid.ColumnSpan="2" />

                    <StackPanel Orientation="Horizontal" Grid.Column="1" Margin="5,5,5,0" Grid.Row="4" Grid.ColumnSpan="2" HorizontalAlignment="Right">
                        <Button Name="btnObjectColumnsReset" Content="Reset" Margin="0,0,5,0"  Width="100"  ToolTip="Revert all changes" />
                        <Button Name="btnObjectColumnsSave" Content="Save" Margin="0,0,0,0"  Width="100" />
                    </StackPanel> 

                </Grid>                    
            </Grid>
            </ScrollViewer>
        </Grid>        
    </TabItem>
</TabControl>