Compare commits

..

No commits in common. "a46a4ad7c1219f5f5d558c7c1c738cd287a697ea" and "0e5ac65f55f0d6ec04f5df1ff4e28eb12b4ebfe6" have entirely different histories.

5 changed files with 238 additions and 300 deletions

View file

@ -1,7 +1,7 @@
<Project> <Project>
<PropertyGroup> <PropertyGroup>
<Version>7.12.7</Version> <Version>7.12.6</Version>
</PropertyGroup> </PropertyGroup>
<PropertyGroup> <PropertyGroup>

View file

@ -1979,7 +1979,7 @@ public class ConfigHandler
items = await AppHandler.Instance.RoutingItems(); items = await AppHandler.Instance.RoutingItems();
} }
if (!blImportAdvancedRules && items.Count > 0) if (!blImportAdvancedRules && items.Where(t => t.Remarks.StartsWith(ver)).ToList().Count > 0)
{ {
return 0; return 0;
} }

View file

@ -34,7 +34,7 @@
IsCancel="True" /> IsCancel="True" />
</StackPanel> </StackPanel>
<TabControl HorizontalContentAlignment="Stretch"> <TabControl HorizontalContentAlignment="Left">
<TabItem Header="{x:Static resx:ResUI.TbSettingsCoreDns}"> <TabItem Header="{x:Static resx:ResUI.TbSettingsCoreDns}">
<DockPanel Margin="{StaticResource Margin8}"> <DockPanel Margin="{StaticResource Margin8}">
<StackPanel DockPanel.Dock="Top" Orientation="Horizontal"> <StackPanel DockPanel.Dock="Top" Orientation="Horizontal">
@ -90,18 +90,16 @@
</StackPanel> </StackPanel>
</WrapPanel> </WrapPanel>
<HeaderedContentControl <Grid Margin="{StaticResource Margin4}">
Margin="{StaticResource Margin4}"
BorderBrush="Gray"
BorderThickness="1"
Header="HTTP/SOCKS">
<TextBox <TextBox
Name="txtnormalDNS" x:Name="txtnormalDNS"
Margin="{StaticResource Margin4}"
VerticalAlignment="Stretch" VerticalAlignment="Stretch"
BorderThickness="1"
Classes="TextArea" Classes="TextArea"
MinLines="10" TextWrapping="Wrap"
TextWrapping="Wrap" /> Watermark="HTTP/SOCKS" />
</HeaderedContentControl> </Grid>
</DockPanel> </DockPanel>
</TabItem> </TabItem>
@ -146,34 +144,31 @@
<Grid Margin="{StaticResource Margin4}" ColumnDefinitions="*,10,*"> <Grid Margin="{StaticResource Margin4}" ColumnDefinitions="*,10,*">
<HeaderedContentControl <TextBox
x:Name="txtnormalDNS2"
Grid.Column="0" Grid.Column="0"
BorderBrush="Gray" Width="400"
HorizontalAlignment="Stretch"
VerticalAlignment="Stretch"
BorderThickness="1" BorderThickness="1"
Header="HTTP/SOCKS"> Classes="TextArea"
<TextBox Margin="{StaticResource Margin4}"
Name="txtnormalDNS2" TextWrapping="Wrap"
VerticalAlignment="Stretch" Watermark="HTTP/SOCKS" />
Classes="TextArea"
MinLines="10"
TextWrapping="Wrap" />
</HeaderedContentControl>
<GridSplitter Grid.Column="1" HorizontalAlignment="Stretch" /> <GridSplitter Grid.Column="1" HorizontalAlignment="Stretch" />
<HeaderedContentControl <TextBox
x:Name="txttunDNS2"
Grid.Column="2" Grid.Column="2"
BorderBrush="Gray" Width="400"
HorizontalAlignment="Stretch"
VerticalAlignment="Stretch"
BorderThickness="1" BorderThickness="1"
Header="{x:Static resx:ResUI.TbSettingsTunMode}"> Classes="TextArea"
<TextBox Margin="{StaticResource Margin4}"
Name="txttunDNS2" TextWrapping="Wrap"
VerticalAlignment="Stretch" Watermark="{x:Static resx:ResUI.TbSettingsTunMode}" />
Classes="TextArea"
MinLines="10"
TextWrapping="Wrap" />
</HeaderedContentControl>
</Grid> </Grid>
</DockPanel> </DockPanel>
</TabItem> </TabItem>

View file

@ -24,11 +24,28 @@
<MenuItem x:Name="menuRoutingAdvancedAdd2" Header="{x:Static resx:ResUI.menuRoutingAdvancedAdd}" /> <MenuItem x:Name="menuRoutingAdvancedAdd2" Header="{x:Static resx:ResUI.menuRoutingAdvancedAdd}" />
<MenuItem x:Name="menuRoutingAdvancedImportRules2" Header="{x:Static resx:ResUI.menuRoutingAdvancedImportRules}" /> <MenuItem x:Name="menuRoutingAdvancedImportRules2" Header="{x:Static resx:ResUI.menuRoutingAdvancedImportRules}" />
</Menu> </Menu>
<TextBlock VerticalAlignment="Center">
<HyperlinkButton Classes="WithIcon" Click="linkdomainStrategy_Click">
<TextBlock Text="{x:Static resx:ResUI.TbdomainStrategy}" />
</HyperlinkButton>
</TextBlock>
<ComboBox x:Name="cmbdomainStrategy" Width="110" />
<Separator />
<TextBlock VerticalAlignment="Center" Text="{x:Static resx:ResUI.TbdomainMatcher}" />
<ComboBox x:Name="cmbdomainMatcher" Width="60" />
<Separator />
<TextBlock VerticalAlignment="Center">
<HyperlinkButton Classes="WithIcon" Click="linkdomainStrategy4Singbox_Click">
<TextBlock Text="{x:Static resx:ResUI.TbdomainStrategy4Singbox}" />
</HyperlinkButton>
</TextBlock>
<ComboBox x:Name="cmbdomainStrategy4Singbox" Width="100" />
</StackPanel> </StackPanel>
<StackPanel <StackPanel
Margin="{StaticResource Margin4}"
HorizontalAlignment="Right" HorizontalAlignment="Right"
Margin="{StaticResource Margin4}"
DockPanel.Dock="Bottom" DockPanel.Dock="Bottom"
Orientation="Horizontal"> Orientation="Horizontal">
<StackPanel <StackPanel
@ -52,112 +69,58 @@
IsCancel="True" /> IsCancel="True" />
</StackPanel> </StackPanel>
<Grid <DockPanel>
Margin="{StaticResource Margin4}" <TabControl x:Name="tabAdvanced">
ColumnDefinitions="Auto,Auto" <TabItem HorizontalAlignment="Left" Header="{x:Static resx:ResUI.TbRoutingTabRuleList}">
DockPanel.Dock="Top" <DataGrid
RowDefinitions="Auto,Auto,Auto"> x:Name="lstRoutings"
AutoGenerateColumns="False"
BorderThickness="1"
CanUserResizeColumns="True"
GridLinesVisibility="All"
HeadersVisibility="Column"
IsReadOnly="True"
ItemsSource="{Binding RoutingItems}">
<DataGrid.KeyBindings>
<KeyBinding Command="{Binding RoutingAdvancedSetDefaultCmd}" Gesture="Enter" />
</DataGrid.KeyBindings>
<DataGrid.ContextMenu>
<ContextMenu>
<MenuItem x:Name="menuRoutingAdvancedAdd" Header="{x:Static resx:ResUI.menuRoutingAdvancedAdd}" />
<MenuItem x:Name="menuRoutingAdvancedRemove" Header="{x:Static resx:ResUI.menuRoutingAdvancedRemove}" />
<MenuItem x:Name="menuRoutingAdvancedSelectAll" Header="{x:Static resx:ResUI.menuSelectAll}" />
<MenuItem x:Name="menuRoutingAdvancedSetDefault" Header="{x:Static resx:ResUI.menuRoutingAdvancedSetDefault}" />
<Separator />
<MenuItem x:Name="menuRoutingAdvancedImportRules" Header="{x:Static resx:ResUI.menuRoutingAdvancedImportRules}" />
</ContextMenu>
</DataGrid.ContextMenu>
<TextBlock <DataGrid.Columns>
Grid.Row="0" <DataGridCheckBoxColumn Width="40" Binding="{Binding IsActive}" />
Grid.Column="0" <DataGridTextColumn
Margin="{StaticResource Margin4}" Width="*"
VerticalAlignment="Center"> Binding="{Binding Remarks}"
<HyperlinkButton Classes="WithIcon" Click="linkdomainStrategy_Click"> Header="{x:Static resx:ResUI.LvRemarks}" />
<TextBlock Text="{x:Static resx:ResUI.TbdomainStrategy}" /> <DataGridTextColumn
</HyperlinkButton> Width="60"
</TextBlock> Binding="{Binding RuleNum}"
<ComboBox Header="{x:Static resx:ResUI.LvCount}" />
x:Name="cmbdomainStrategy" <DataGridTextColumn
Grid.Row="0" Width="60"
Grid.Column="1" Binding="{Binding Sort}"
Width="300" Header="{x:Static resx:ResUI.LvSort}" />
Margin="{StaticResource Margin4}" <DataGridTextColumn
HorizontalAlignment="Left" Width="*"
VerticalAlignment="Center" /> Binding="{Binding Url}"
Header="{x:Static resx:ResUI.LvUrl}" />
<TextBlock <DataGridTextColumn
Grid.Row="1" Width="300"
Grid.Column="0" Binding="{Binding CustomIcon}"
Margin="{StaticResource Margin4}" Header="{x:Static resx:ResUI.LvCustomIcon}" />
VerticalAlignment="Center" </DataGrid.Columns>
Text="{x:Static resx:ResUI.TbdomainMatcher}" /> </DataGrid>
<ComboBox </TabItem>
x:Name="cmbdomainMatcher" </TabControl>
Grid.Row="1" </DockPanel>
Grid.Column="1"
Width="300"
Margin="{StaticResource Margin4}" />
<TextBlock
Grid.Row="2"
Grid.Column="0"
Margin="{StaticResource Margin4}"
VerticalAlignment="Center">
<HyperlinkButton Classes="WithIcon" Click="linkdomainStrategy4Singbox_Click">
<TextBlock Text="{x:Static resx:ResUI.TbdomainStrategy4Singbox}" />
</HyperlinkButton>
</TextBlock>
<ComboBox
x:Name="cmbdomainStrategy4Singbox"
Grid.Row="2"
Grid.Column="1"
Width="300"
Margin="{StaticResource Margin4}"
HorizontalAlignment="Left"
VerticalAlignment="Center" />
</Grid>
<TabControl x:Name="tabAdvanced">
<TabItem HorizontalAlignment="Left" Header="{x:Static resx:ResUI.TbRoutingTabRuleList}">
<DataGrid
x:Name="lstRoutings"
AutoGenerateColumns="False"
BorderThickness="1"
CanUserResizeColumns="True"
GridLinesVisibility="All"
HeadersVisibility="Column"
IsReadOnly="True"
ItemsSource="{Binding RoutingItems}">
<DataGrid.KeyBindings>
<KeyBinding Command="{Binding RoutingAdvancedSetDefaultCmd}" Gesture="Enter" />
</DataGrid.KeyBindings>
<DataGrid.ContextMenu>
<ContextMenu>
<MenuItem x:Name="menuRoutingAdvancedAdd" Header="{x:Static resx:ResUI.menuRoutingAdvancedAdd}" />
<MenuItem x:Name="menuRoutingAdvancedRemove" Header="{x:Static resx:ResUI.menuRoutingAdvancedRemove}" />
<MenuItem x:Name="menuRoutingAdvancedSelectAll" Header="{x:Static resx:ResUI.menuSelectAll}" />
<MenuItem x:Name="menuRoutingAdvancedSetDefault" Header="{x:Static resx:ResUI.menuRoutingAdvancedSetDefault}" />
<Separator />
<MenuItem x:Name="menuRoutingAdvancedImportRules" Header="{x:Static resx:ResUI.menuRoutingAdvancedImportRules}" />
</ContextMenu>
</DataGrid.ContextMenu>
<DataGrid.Columns>
<DataGridCheckBoxColumn Width="40" Binding="{Binding IsActive}" />
<DataGridTextColumn
Width="*"
Binding="{Binding Remarks}"
Header="{x:Static resx:ResUI.LvRemarks}" />
<DataGridTextColumn
Width="60"
Binding="{Binding RuleNum}"
Header="{x:Static resx:ResUI.LvCount}" />
<DataGridTextColumn
Width="60"
Binding="{Binding Sort}"
Header="{x:Static resx:ResUI.LvSort}" />
<DataGridTextColumn
Width="*"
Binding="{Binding Url}"
Header="{x:Static resx:ResUI.LvUrl}" />
<DataGridTextColumn
Width="300"
Binding="{Binding CustomIcon}"
Header="{x:Static resx:ResUI.LvCustomIcon}" />
</DataGrid.Columns>
</DataGrid>
</TabItem>
</TabControl>
</DockPanel> </DockPanel>
</Window> </Window>

View file

@ -1,4 +1,4 @@
<reactiveui:ReactiveWindow <reactiveui:ReactiveWindow
x:Class="v2rayN.Views.RoutingSettingWindow" x:Class="v2rayN.Views.RoutingSettingWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
@ -29,25 +29,68 @@
VerticalAlignment="Center" VerticalAlignment="Center"
ClipToBounds="True" ClipToBounds="True"
Style="{StaticResource MaterialDesignToolBar}"> Style="{StaticResource MaterialDesignToolBar}">
<Button x:Name="menuRoutingAdvancedAdd2"> <Menu Margin="0,1" Style="{StaticResource ToolbarMenu}">
<StackPanel Orientation="Horizontal"> <MenuItem x:Name="menuRoutingAdvanced" Padding="8,0">
<materialDesign:PackIcon <MenuItem.Header>
Margin="{StaticResource MarginRight8}" <StackPanel Orientation="Horizontal">
VerticalAlignment="Center" <materialDesign:PackIcon
Kind="Plus" /> Margin="{StaticResource MarginRight8}"
<TextBlock Style="{StaticResource ToolbarTextBlock}" Text="{x:Static resx:ResUI.menuRoutingAdvancedAdd}" /> VerticalAlignment="Center"
</StackPanel> Kind="Routes" />
</Button> <TextBlock Text="{x:Static resx:ResUI.menuRoutingAdvanced}" />
</StackPanel>
</MenuItem.Header>
<MenuItem
x:Name="menuRoutingAdvancedAdd2"
Height="{StaticResource MenuItemHeight}"
Header="{x:Static resx:ResUI.menuRoutingAdvancedAdd}" />
<MenuItem
x:Name="menuRoutingAdvancedImportRules2"
Height="{StaticResource MenuItemHeight}"
Header="{x:Static resx:ResUI.menuRoutingAdvancedImportRules}" />
</MenuItem>
</Menu>
<Separator /> <Separator />
<Button x:Name="menuRoutingAdvancedImportRules2"> <TextBlock
<StackPanel Orientation="Horizontal"> Margin="{StaticResource MarginLeft8}"
<materialDesign:PackIcon VerticalAlignment="Center"
Margin="{StaticResource MarginRight8}" Style="{StaticResource ToolbarTextBlock}">
VerticalAlignment="Center" <Hyperlink Click="linkdomainStrategy_Click">
Kind="Import" /> <TextBlock Text="{x:Static resx:ResUI.TbdomainStrategy}" />
<TextBlock Style="{StaticResource ToolbarTextBlock}" Text="{x:Static resx:ResUI.menuRoutingAdvancedImportRules}" /> <materialDesign:PackIcon Kind="Link" />
</StackPanel> </Hyperlink>
</Button> </TextBlock>
<ComboBox
x:Name="cmbdomainStrategy"
Width="110"
Margin="{StaticResource MarginLeft8}"
Style="{StaticResource DefComboBox}" />
<Separator />
<TextBlock
Margin="{StaticResource MarginLeft8}"
VerticalAlignment="Center"
Style="{StaticResource ToolbarTextBlock}"
Text="{x:Static resx:ResUI.TbdomainMatcher}" />
<ComboBox
x:Name="cmbdomainMatcher"
Width="60"
Margin="{StaticResource MarginLeft8}"
Style="{StaticResource DefComboBox}" />
<Separator />
<TextBlock
Margin="{StaticResource MarginLeft8}"
VerticalAlignment="Center"
Style="{StaticResource ToolbarTextBlock}">
<Hyperlink Click="linkdomainStrategy4Singbox_Click">
<TextBlock Text="{x:Static resx:ResUI.TbdomainStrategy4Singbox}" />
<materialDesign:PackIcon Kind="Link" />
</Hyperlink>
</TextBlock>
<ComboBox
x:Name="cmbdomainStrategy4Singbox"
Width="100"
Margin="{StaticResource MarginLeft8}"
Style="{StaticResource DefComboBox}" />
</ToolBar> </ToolBar>
</ToolBarTray> </ToolBarTray>
@ -79,145 +122,82 @@
Style="{StaticResource DefButton}" /> Style="{StaticResource DefButton}" />
</StackPanel> </StackPanel>
<Grid Margin="{StaticResource Margin8}" DockPanel.Dock="Top"> <DockPanel>
<Grid.RowDefinitions> <TabControl x:Name="tabAdvanced">
<RowDefinition Height="Auto" /> <TabItem HorizontalAlignment="Left" Header="{x:Static resx:ResUI.TbRoutingTabRuleList}">
<RowDefinition Height="Auto" /> <DataGrid
<RowDefinition Height="Auto" /> x:Name="lstRoutings"
</Grid.RowDefinitions> AutoGenerateColumns="False"
<Grid.ColumnDefinitions> BorderThickness="1"
<ColumnDefinition Width="Auto" /> CanUserAddRows="False"
<ColumnDefinition Width="Auto" /> CanUserResizeRows="False"
</Grid.ColumnDefinitions> CanUserSortColumns="False"
EnableRowVirtualization="True"
<TextBlock GridLinesVisibility="All"
Grid.Row="0" HeadersVisibility="Column"
Grid.Column="0" IsReadOnly="True"
Margin="{StaticResource Margin4}" Style="{StaticResource DefDataGrid}">
VerticalAlignment="Center" <DataGrid.ContextMenu>
Style="{StaticResource ToolbarTextBlock}"> <ContextMenu Style="{StaticResource DefContextMenu}">
<Hyperlink Click="linkdomainStrategy_Click"> <MenuItem
<TextBlock Text="{x:Static resx:ResUI.TbdomainStrategy}" /> x:Name="menuRoutingAdvancedAdd"
<materialDesign:PackIcon Kind="Link" /> Height="{StaticResource MenuItemHeight}"
</Hyperlink> Header="{x:Static resx:ResUI.menuRoutingAdvancedAdd}" />
</TextBlock> <MenuItem
<ComboBox x:Name="menuRoutingAdvancedRemove"
x:Name="cmbdomainStrategy" Height="{StaticResource MenuItemHeight}"
Grid.Row="0" Header="{x:Static resx:ResUI.menuRoutingAdvancedRemove}" />
Grid.Column="1" <MenuItem
Width="300" x:Name="menuRoutingAdvancedSelectAll"
Margin="{StaticResource Margin4}" Height="{StaticResource MenuItemHeight}"
Style="{StaticResource DefComboBox}" /> Header="{x:Static resx:ResUI.menuSelectAll}" />
<MenuItem
<TextBlock x:Name="menuRoutingAdvancedSetDefault"
Grid.Row="1" Height="{StaticResource MenuItemHeight}"
Grid.Column="0" Header="{x:Static resx:ResUI.menuRoutingAdvancedSetDefault}" />
Margin="{StaticResource Margin4}" <Separator />
VerticalAlignment="Center" <MenuItem
Style="{StaticResource ToolbarTextBlock}" x:Name="menuRoutingAdvancedImportRules"
Text="{x:Static resx:ResUI.TbdomainMatcher}" /> Height="{StaticResource MenuItemHeight}"
<ComboBox Header="{x:Static resx:ResUI.menuRoutingAdvancedImportRules}" />
x:Name="cmbdomainMatcher" </ContextMenu>
Grid.Row="1" </DataGrid.ContextMenu>
Grid.Column="1" <DataGrid.Resources>
Width="300" <Style BasedOn="{StaticResource MaterialDesignDataGridCell}" TargetType="DataGridCell">
Margin="{StaticResource Margin4}" <Style.Triggers>
Style="{StaticResource DefComboBox}" /> <DataTrigger Binding="{Binding IsActive}" Value="True">
<Setter Property="Background" Value="{DynamicResource MaterialDesign.Brush.Primary.Light}" />
<TextBlock <Setter Property="Foreground" Value="Black" />
Grid.Row="2" <Setter Property="BorderBrush" Value="{DynamicResource MaterialDesign.Brush.Primary.Light}" />
Grid.Column="0" </DataTrigger>
Margin="{StaticResource Margin4}" </Style.Triggers>
VerticalAlignment="Center" </Style>
Style="{StaticResource ToolbarTextBlock}"> </DataGrid.Resources>
<Hyperlink Click="linkdomainStrategy4Singbox_Click"> <DataGrid.Columns>
<TextBlock Text="{x:Static resx:ResUI.TbdomainStrategy4Singbox}" /> <DataGridTextColumn
<materialDesign:PackIcon Kind="Link" /> Width="*"
</Hyperlink> Binding="{Binding Remarks}"
</TextBlock> Header="{x:Static resx:ResUI.LvRemarks}" />
<ComboBox <DataGridTextColumn
x:Name="cmbdomainStrategy4Singbox" Width="60"
Grid.Row="2" Binding="{Binding RuleNum}"
Grid.Column="1" Header="{x:Static resx:ResUI.LvCount}" />
Width="300" <DataGridTextColumn
Margin="{StaticResource Margin4}" Width="60"
Style="{StaticResource DefComboBox}" /> Binding="{Binding Sort}"
</Grid> Header="{x:Static resx:ResUI.LvSort}" />
<DataGridTextColumn
<TabControl x:Name="tabAdvanced"> Width="*"
<TabItem HorizontalAlignment="Left" Header="{x:Static resx:ResUI.TbRoutingTabRuleList}"> Binding="{Binding Url}"
<DataGrid Header="{x:Static resx:ResUI.LvUrl}" />
x:Name="lstRoutings" <DataGridTextColumn
AutoGenerateColumns="False" Width="300"
BorderThickness="1" Binding="{Binding CustomIcon}"
CanUserAddRows="False" Header="{x:Static resx:ResUI.LvCustomIcon}" />
CanUserResizeRows="False" </DataGrid.Columns>
CanUserSortColumns="False" </DataGrid>
EnableRowVirtualization="True" </TabItem>
GridLinesVisibility="All" </TabControl>
HeadersVisibility="Column" </DockPanel>
IsReadOnly="True"
Style="{StaticResource DefDataGrid}">
<DataGrid.ContextMenu>
<ContextMenu Style="{StaticResource DefContextMenu}">
<MenuItem
x:Name="menuRoutingAdvancedAdd"
Height="{StaticResource MenuItemHeight}"
Header="{x:Static resx:ResUI.menuRoutingAdvancedAdd}" />
<MenuItem
x:Name="menuRoutingAdvancedRemove"
Height="{StaticResource MenuItemHeight}"
Header="{x:Static resx:ResUI.menuRoutingAdvancedRemove}" />
<MenuItem
x:Name="menuRoutingAdvancedSelectAll"
Height="{StaticResource MenuItemHeight}"
Header="{x:Static resx:ResUI.menuSelectAll}" />
<MenuItem
x:Name="menuRoutingAdvancedSetDefault"
Height="{StaticResource MenuItemHeight}"
Header="{x:Static resx:ResUI.menuRoutingAdvancedSetDefault}" />
<Separator />
<MenuItem
x:Name="menuRoutingAdvancedImportRules"
Height="{StaticResource MenuItemHeight}"
Header="{x:Static resx:ResUI.menuRoutingAdvancedImportRules}" />
</ContextMenu>
</DataGrid.ContextMenu>
<DataGrid.Resources>
<Style BasedOn="{StaticResource MaterialDesignDataGridCell}" TargetType="DataGridCell">
<Style.Triggers>
<DataTrigger Binding="{Binding IsActive}" Value="True">
<Setter Property="Background" Value="{DynamicResource MaterialDesign.Brush.Primary.Light}" />
<Setter Property="Foreground" Value="Black" />
<Setter Property="BorderBrush" Value="{DynamicResource MaterialDesign.Brush.Primary.Light}" />
</DataTrigger>
</Style.Triggers>
</Style>
</DataGrid.Resources>
<DataGrid.Columns>
<DataGridTextColumn
Width="*"
Binding="{Binding Remarks}"
Header="{x:Static resx:ResUI.LvRemarks}" />
<DataGridTextColumn
Width="60"
Binding="{Binding RuleNum}"
Header="{x:Static resx:ResUI.LvCount}" />
<DataGridTextColumn
Width="60"
Binding="{Binding Sort}"
Header="{x:Static resx:ResUI.LvSort}" />
<DataGridTextColumn
Width="*"
Binding="{Binding Url}"
Header="{x:Static resx:ResUI.LvUrl}" />
<DataGridTextColumn
Width="300"
Binding="{Binding CustomIcon}"
Header="{x:Static resx:ResUI.LvCustomIcon}" />
</DataGrid.Columns>
</DataGrid>
</TabItem>
</TabControl>
</DockPanel> </DockPanel>
</reactiveui:ReactiveWindow> </reactiveui:ReactiveWindow>