<Grid xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Margin="5,5,5,5">
    <Grid.RowDefinitions>
        <RowDefinition Height="*"/>
        <RowDefinition Height="Auto"/>
    </Grid.RowDefinitions>

    <TabControl SelectedIndex="0" Margin="0,0,0,5">
        <TabItem Header="Options">
            <ScrollViewer VerticalScrollBarVisibility="Auto" HorizontalScrollBarVisibility="Auto" Padding="0,0,5,0">
                <Grid VerticalAlignment="Stretch" >
                    <Grid.RowDefinitions>
                        <RowDefinition Height="Auto"/>
                        <RowDefinition Height="Auto"/>
                        <RowDefinition Height="Auto"/>
                        <RowDefinition Height="Auto"/>
                        <RowDefinition Height="Auto"/>
                        <RowDefinition Height="Auto"/>
                        <RowDefinition Height="*"/>
                    </Grid.RowDefinitions>
                    <Grid.ColumnDefinitions>
                        <ColumnDefinition Width="Auto" SharedSizeGroup="TitleColumn" />
                        <ColumnDefinition Width="*"/>
                    </Grid.ColumnDefinitions>

                    <StackPanel Orientation="Horizontal" Grid.Row='0' Margin="0,5,5,0" >
                                    <Label Content="Source objct" />
                                    <Rectangle Style="{DynamicResource InfoIcon}" ToolTip="Current intune object" />
                                </StackPanel>
                    <TextBlock Name="txtIntuneObject" Text="" Grid.Column='1' Margin="0,9,5,0"/>   

                    <StackPanel Orientation="Horizontal" Margin="0,5,5,0" Grid.Row='1' >
                        <Label Content="File to compare" />
                        <Rectangle Style="{DynamicResource InfoIcon}" ToolTip="The exported file to compare current Intune object with" />
                    </StackPanel>
                    <Grid Grid.Column='1' Grid.Row='1' Margin="0,5,0,0">
                        <Grid.ColumnDefinitions>
                            <ColumnDefinition Width="*" />  
                            <ColumnDefinition Width="5" />
                            <ColumnDefinition Width="Auto" />
                        </Grid.ColumnDefinitions>
                        <Grid.RowDefinitions>
                            <RowDefinition Height="Auto"/>                
                        </Grid.RowDefinitions>
                        <TextBox Text="" Name="txtCompareFile" />
                        <Button Grid.Column="2" Name="browseCompareObject" Padding="5,2,5,2" Width="50" ToolTip="Browse for file">...</Button>
                    </Grid>

                    <StackPanel Orientation="Horizontal" Grid.Row='2' Margin="0,5,5,0" >
                        <Label Content="Skip Basic Properties" />
                        <Rectangle Style="{DynamicResource InfoIcon}" ToolTip="Skip basic properties like name, description, modified etc." />
                    </StackPanel>
                    <CheckBox Grid.Column='1' Grid.Row='2' Name='chkSkipCompareBasicProperties' VerticalAlignment="Center" />

                    <StackPanel Orientation="Horizontal" Grid.Row='3' Margin="0,5,5,0" >
                        <Label Content="Skip Assignments" />
                        <Rectangle Style="{DynamicResource InfoIcon}" ToolTip="Skip comapring assignments." />
                    </StackPanel>
                    <CheckBox Grid.Column='1' Grid.Row='3' Name='chkSkipCompareAssignments' VerticalAlignment="Center" />

                    <StackPanel Orientation="Horizontal" Grid.Row='5' Margin="0,5,5,0" >
                                    <Label Content="Comparison Type" />
                                    <Rectangle Style="{DynamicResource InfoIcon}" ToolTip="Specify how objects should be compared" />
                    </StackPanel>
                    <ComboBox Name="cbCompareType" Margin="0,5,0,0" MinWidth="250" Grid.Row='5' Grid.Column="1" HorizontalAlignment="Left" 
                                DisplayMemberPath="Name" SelectedValuePath="Value"  />
                                
                    <TextBlock Grid.Row='999' TextWrapping="Wrap" Margin="5,20,5,0" Grid.ColumnSpan="2">
                    The <Bold>Property</Bold> comparison method is a quick and easy option for objects that are based on a static set of properties <LineBreak/>
                    e.g. Configuration Profiles, Compliance Policies etc.<LineBreak/>This method will compare each property of the objects. <LineBreak/>
                    The downside of this method is that it could be difficult to match the property name with the setting in the UI.
                    <LineBreak/>
                    The <Bold>Documentation</Bold> method will use the documentation engine and compare property values as they are displayed in the portal.<LineBreak/> 
                    This is recommended for objects with dynamic settings e.g. Settings Catalog and Endpoint security objects. <LineBreak/>
                    The downside of this method is that it could be slow and that some property-based objects are not supported.

                    </TextBlock>
                </Grid>
            </ScrollViewer>
        </TabItem>
        <TabItem Header="Compare Output">
            <Grid>
                <Grid.RowDefinitions>
                    <RowDefinition Height="*"/>
                    <RowDefinition Height="Auto"/>
                </Grid.RowDefinitions>
                    <DataGrid Name="dgCompareInfo" 
                        AutoGenerateColumns="False"
                        SelectionMode="Single"
                        SelectionUnit="FullRow"
                        CanUserAddRows="False">
                        <DataGrid.RowStyle>
                            <Style TargetType="DataGridRow"> 
                                <Style.Triggers>
                                    <DataTrigger Binding="{Binding Match}" Value="true">
                                        <Setter Property="Foreground" Value="Black"></Setter>
                                    </DataTrigger>
                                    <DataTrigger Binding="{Binding Match}" Value="false">
                                        <Setter Property="Foreground" Value="Red"></Setter>
                                    </DataTrigger>
                                </Style.Triggers>
                            </Style>
                        </DataGrid.RowStyle>
                        <DataGrid.Columns>
                            <DataGridTextColumn Header="Property" Binding="{Binding PropertyName}" IsReadOnly="True" Width="Auto" />
                            <DataGridTextColumn Header="Category" Binding="{Binding Category}" IsReadOnly="True" Width="Auto" />
                            <DataGridTextColumn Header="SubCategory" Binding="{Binding SubCategory}" IsReadOnly="True" Width="Auto" />
                            <DataGridTextColumn Header="Intune Object" Binding="{Binding Object1Value}" IsReadOnly="True" Width="1*" />
                            <DataGridTextColumn Header="Backup Object" Binding="{Binding Object2Value}" IsReadOnly="True" Width="1*" />
                        </DataGrid.Columns>
                    </DataGrid>

                <StackPanel Orientation="Horizontal" HorizontalAlignment="Right" Grid.Row='1' Margin="5,5,0,0">
                    <Button Name="btnCompareSave" Content="Save" ToolTip="Save as CSV file" Width='100' Margin="5,0,0,0" />
                    <Button Name="btnCompareCopy" Content="Copy" ToolTip="Copy CSV content to clipboard" Width='100' Margin="5,0,0,0" />
                </StackPanel>
            </Grid>
        </TabItem>
    </TabControl>

    <StackPanel Name="spCompareSubMenu" Orientation="Horizontal" HorizontalAlignment="Right" Grid.Row='1'>
        <Button Name="btnStartCompare" Content="Compare" ToolTip="Compare objects" Width='100' Margin="5,0,0,0" />
        <Button Name="btnClose" Content="Close" Width='100' Margin="5,0,0,0" />
    </StackPanel>
</Grid>