<reactiveui:ReactiveWindow
    x:Class="v2rayN.Views.RoutingRuleSettingWindow"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:conv="clr-namespace:v2rayN.Converters"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:materialDesign="http://materialdesigninxaml.net/winfx/xaml/themes"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    xmlns:reactiveui="http://reactiveui.net"
    xmlns:resx="clr-namespace:v2rayN.Resx"
    xmlns:vms="clr-namespace:v2rayN.ViewModels"
    Title="{x:Static resx:ResUI.menuRoutingRuleSetting}"
    Width="900"
    Height="700"
    x:TypeArguments="vms:RoutingRuleSettingViewModel"
    Background="{DynamicResource MaterialDesignPaper}"
    FontFamily="{x:Static conv:MaterialDesignFonts.MyFont}"
    ResizeMode="NoResize"
    TextElement.FontFamily="{x:Static conv:MaterialDesignFonts.MyFont}"
    TextElement.Foreground="{DynamicResource MaterialDesignBody}"
    TextOptions.TextFormattingMode="Display"
    TextOptions.TextRenderingMode="Auto"
    WindowStartupLocation="CenterScreen"
    mc:Ignorable="d">
    <DockPanel>
        <ToolBarTray DockPanel.Dock="Top">
            <ToolBar
                HorizontalAlignment="Center"
                VerticalAlignment="Center"
                ClipToBounds="True"
                Style="{StaticResource MaterialDesignToolBar}">
                <Button x:Name="menuRuleAdd">
                    <StackPanel Orientation="Horizontal">
                        <materialDesign:PackIcon Margin="0,0,8,0" Kind="Plus" />
                        <TextBlock Style="{StaticResource ToolbarTextBlock}" Text="{x:Static resx:ResUI.menuRuleAdd}" />
                    </StackPanel>
                </Button>
                <Separator />
                <Button x:Name="menuImportRulesFromFile">
                    <StackPanel Orientation="Horizontal">
                        <materialDesign:PackIcon Margin="0,0,8,0" Kind="Import" />
                        <TextBlock Style="{StaticResource ToolbarTextBlock}" Text="{x:Static resx:ResUI.menuImportRulesFromFile}" />
                    </StackPanel>
                </Button>
                <Separator />
                <Button x:Name="menuImportRulesFromClipboard">
                    <StackPanel Orientation="Horizontal">
                        <materialDesign:PackIcon Margin="0,0,8,0" Kind="Import" />
                        <TextBlock Style="{StaticResource ToolbarTextBlock}" Text="{x:Static resx:ResUI.menuImportRulesFromClipboard}" />
                    </StackPanel>
                </Button>
                <Separator />
                <Button x:Name="menuImportRulesFromUrl">
                    <StackPanel Orientation="Horizontal">
                        <materialDesign:PackIcon Margin="0,0,8,0" Kind="Import" />
                        <TextBlock Style="{StaticResource ToolbarTextBlock}" Text="{x:Static resx:ResUI.menuImportRulesFromUrl}" />
                    </StackPanel>
                </Button>
            </ToolBar>
        </ToolBarTray>

        <Grid
            Margin="16"
            HorizontalAlignment="Center"
            DockPanel.Dock="Bottom">
            <Grid.ColumnDefinitions>
                <ColumnDefinition Width="600" />
                <ColumnDefinition Width="100" />
                <ColumnDefinition Width="100" />
            </Grid.ColumnDefinitions>
            <Button
                x:Name="btnSave"
                Grid.Column="1"
                Margin="4"
                Content="{x:Static resx:ResUI.TbConfirm}"
                Cursor="Hand"
                Style="{StaticResource DefButton}" />
            <Button
                x:Name="btnCancel"
                Grid.Column="2"
                Margin="4"
                Content="{x:Static resx:ResUI.TbCancel}"
                Cursor="Hand"
                IsCancel="true"
                Style="{StaticResource DefButton}" />
        </Grid>

        <Grid Margin="8" DockPanel.Dock="Top">
            <Grid.RowDefinitions>
                <RowDefinition Height="Auto" />
                <RowDefinition Height="Auto" />
                <RowDefinition Height="Auto" />
                <RowDefinition Height="Auto" />
                <RowDefinition Height="Auto" />
            </Grid.RowDefinitions>
            <Grid.ColumnDefinitions>
                <ColumnDefinition Width="Auto" />
                <ColumnDefinition Width="Auto" />
                <ColumnDefinition Width="Auto" />
            </Grid.ColumnDefinitions>
            <TextBlock
                Grid.Row="0"
                Grid.Column="0"
                Margin="4"
                VerticalAlignment="Center"
                Style="{StaticResource ToolbarTextBlock}"
                Text="{x:Static resx:ResUI.LvRemarks}" />
            <TextBox
                x:Name="txtRemarks"
                Grid.Row="0"
                Grid.Column="1"
                Width="400"
                Margin="4"
                HorizontalAlignment="Left"
                VerticalAlignment="Top"
                AcceptsReturn="True"
                TextWrapping="Wrap" />

            <TextBlock
                Grid.Row="1"
                Grid.Column="0"
                Margin="4"
                VerticalAlignment="Center"
                Style="{StaticResource ToolbarTextBlock}"
                Text="{x:Static resx:ResUI.TbdomainStrategy}" />
            <ComboBox
                x:Name="cmbdomainStrategy"
                Grid.Row="1"
                Grid.Column="1"
                Width="200"
                Margin="4"
                Style="{StaticResource DefComboBox}" />

            <TextBlock
                Grid.Row="2"
                Grid.Column="0"
                Margin="4"
                VerticalAlignment="Center"
                Style="{StaticResource ToolbarTextBlock}"
                Text="{x:Static resx:ResUI.LvUrl}" />
            <TextBox
                x:Name="txtUrl"
                Grid.Row="2"
                Grid.Column="1"
                Width="600"
                Margin="4"
                VerticalAlignment="Top"
                AcceptsReturn="True"
                TextWrapping="Wrap" />

            <TextBlock
                Grid.Row="3"
                Grid.Column="0"
                Margin="4"
                VerticalAlignment="Center"
                Style="{StaticResource ToolbarTextBlock}"
                Text="{x:Static resx:ResUI.LvCustomIcon}" />
            <TextBox
                x:Name="txtCustomIcon"
                Grid.Row="3"
                Grid.Column="1"
                Width="600"
                Margin="4"
                VerticalAlignment="Top"
                AcceptsReturn="True"
                TextWrapping="Wrap" />
            <Button
                x:Name="btnBrowse"
                Grid.Row="3"
                Grid.Column="2"
                Width="100"
                Margin="2,0,8,0"
                Click="btnBrowse_Click"
                Content="{x:Static resx:ResUI.TbBrowse}"
                Style="{StaticResource DefButton}" />

        </Grid>

        <TabControl x:Name="tabAdvanced">
            <TabItem HorizontalAlignment="Left" Header="{x:Static resx:ResUI.menuRuleList}">
                <DataGrid
                    x:Name="lstRules"
                    AutoGenerateColumns="False"
                    BorderThickness="1"
                    CanUserAddRows="False"
                    CanUserResizeRows="False"
                    CanUserSortColumns="False"
                    EnableRowVirtualization="True"
                    GridLinesVisibility="All"
                    HeadersVisibility="Column"
                    IsReadOnly="True"
                    Style="{StaticResource DefDataGrid}">
                    <DataGrid.ContextMenu>
                        <ContextMenu Style="{StaticResource DefContextMenu}">
                            <MenuItem
                                x:Name="menuRuleAdd2"
                                Height="{StaticResource MenuItemHeight}"
                                Header="{x:Static resx:ResUI.menuRuleAdd}" />
                            <MenuItem
                                x:Name="menuRuleRemove"
                                Height="{StaticResource MenuItemHeight}"
                                Header="{x:Static resx:ResUI.menuRuleRemove}" />
                            <MenuItem
                                x:Name="menuRuleSelectAll"
                                Height="{StaticResource MenuItemHeight}"
                                Click="menuRuleSelectAll_Click"
                                Header="{x:Static resx:ResUI.menuSelectAll}" />
                            <MenuItem
                                x:Name="menuRuleExportSelected"
                                Height="{StaticResource MenuItemHeight}"
                                Header="{x:Static resx:ResUI.menuRuleExportSelected}" />
                            <Separator />
                            <MenuItem
                                x:Name="menuMoveTop"
                                Height="{StaticResource MenuItemHeight}"
                                Header="{x:Static resx:ResUI.menuMoveTop}" />
                            <MenuItem
                                x:Name="menuMoveUp"
                                Height="{StaticResource MenuItemHeight}"
                                Header="{x:Static resx:ResUI.menuMoveUp}" />
                            <MenuItem
                                x:Name="menuMoveDown"
                                Height="{StaticResource MenuItemHeight}"
                                Header="{x:Static resx:ResUI.menuMoveDown}" />
                            <MenuItem
                                x:Name="menuMoveBottom"
                                Height="{StaticResource MenuItemHeight}"
                                Header="{x:Static resx:ResUI.menuMoveBottom}" />
                        </ContextMenu>
                    </DataGrid.ContextMenu>
                    <DataGrid.Columns>
                        <DataGridTextColumn
                            Width="120"
                            Binding="{Binding outboundTag}"
                            Header="outboundTag" />
                        <DataGridTextColumn
                            Width="100"
                            Binding="{Binding port}"
                            Header="port" />
                        <DataGridTextColumn
                            Width="100"
                            Binding="{Binding protocols}"
                            Header="protocol" />
                        <DataGridTextColumn
                            Width="120"
                            Binding="{Binding inboundTags}"
                            Header="inboundTag" />
                        <DataGridTextColumn
                            Width="150"
                            Binding="{Binding domains}"
                            Header="domain" />
                        <DataGridTextColumn
                            Width="150"
                            Binding="{Binding ips}"
                            Header="ip" />
                        <DataGridTextColumn
                            Width="80"
                            Binding="{Binding enabled}"
                            Header="enabled" />

                    </DataGrid.Columns>
                </DataGrid>
            </TabItem>
        </TabControl>
    </DockPanel>

</reactiveui:ReactiveWindow>
