Kaynağa Gözat

style(ui): DHCP模式下禁用自定义路由控件

在启用DHCP时禁用自定义路由相关UI,防止无效配置。
yangkaixiang 1 ay önce
ebeveyn
işleme
29b1a02163
1 değiştirilmiş dosya ile 31 ekleme ve 12 silme
  1. 31 12
      windows/NetworkTool.Client/DeviceDetailsWindow.xaml

+ 31 - 12
windows/NetworkTool.Client/DeviceDetailsWindow.xaml

@@ -224,19 +224,34 @@
                                                     </StackPanel>
                                                     <StackPanel Grid.Row="1" Margin="18,0,0,8" Orientation="Horizontal">
                                                         <TextBlock VerticalAlignment="Center" FontSize="12" Foreground="#6B7280" Text="自定义路由:" />
-                                                        <CheckBox Margin="8,0,0,0" VerticalContentAlignment="Center" IsChecked="{Binding CustomRoutesEnabled, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" Checked="GatewayOrRouteModeChanged_OnChanged" Unchecked="GatewayOrRouteModeChanged_OnChanged" Content="启用" />
+                                                        <CheckBox Margin="8,0,0,0" VerticalContentAlignment="Center" IsChecked="{Binding CustomRoutesEnabled, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" Checked="GatewayOrRouteModeChanged_OnChanged" Unchecked="GatewayOrRouteModeChanged_OnChanged" Content="启用">
+                                                            <CheckBox.Style>
+                                                                <Style TargetType="CheckBox">
+                                                                    <Setter Property="IsEnabled" Value="True" />
+                                                                    <Style.Triggers>
+                                                                        <DataTrigger Binding="{Binding Dhcp4}" Value="True">
+                                                                            <Setter Property="IsEnabled" Value="False" />
+                                                                        </DataTrigger>
+                                                                    </Style.Triggers>
+                                                                </Style>
+                                                            </CheckBox.Style>
+                                                        </CheckBox>
                                                     </StackPanel>
-                                                     <DataGrid Grid.Row="2" Margin="18,8,0,0" ItemsSource="{Binding Routes}" AutoGenerateColumns="False" CanUserAddRows="False" HeadersVisibility="Column" CellEditEnding="ConfigGrid_OnCellEditEnding" PreviewMouseWheel="DataGrid_OnPreviewMouseWheel">
-                                                         <DataGrid.Style>
-                                                             <Style TargetType="DataGrid" BasedOn="{StaticResource ConfigDataGridStyle}">
-                                                                 <Setter Property="Visibility" Value="Collapsed" />
-                                                                <Style.Triggers>
-                                                                    <DataTrigger Binding="{Binding CustomRoutesEnabled}" Value="True">
-                                                                        <Setter Property="Visibility" Value="Visible" />
-                                                                    </DataTrigger>
-                                                                </Style.Triggers>
-                                                            </Style>
-                                                        </DataGrid.Style>
+                                                      <DataGrid Grid.Row="2" Margin="18,8,0,0" ItemsSource="{Binding Routes}" AutoGenerateColumns="False" CanUserAddRows="False" HeadersVisibility="Column" CellEditEnding="ConfigGrid_OnCellEditEnding" PreviewMouseWheel="DataGrid_OnPreviewMouseWheel">
+                                                          <DataGrid.Style>
+                                                              <Style TargetType="DataGrid" BasedOn="{StaticResource ConfigDataGridStyle}">
+                                                                  <Setter Property="Visibility" Value="Collapsed" />
+                                                                  <Setter Property="IsEnabled" Value="True" />
+                                                                 <Style.Triggers>
+                                                                     <DataTrigger Binding="{Binding CustomRoutesEnabled}" Value="True">
+                                                                         <Setter Property="Visibility" Value="Visible" />
+                                                                     </DataTrigger>
+                                                                     <DataTrigger Binding="{Binding Dhcp4}" Value="True">
+                                                                         <Setter Property="IsEnabled" Value="False" />
+                                                                     </DataTrigger>
+                                                                 </Style.Triggers>
+                                                             </Style>
+                                                         </DataGrid.Style>
                                                          <DataGrid.Columns>
                                                              <DataGridTextColumn Header="目标网段" Binding="{Binding To, UpdateSourceTrigger=PropertyChanged}" ElementStyle="{StaticResource ConfigDataGridTextStyle}" EditingElementStyle="{StaticResource ConfigDataGridEditingTextStyle}" Width="*" />
                                                              <DataGridTextColumn Header="子网掩码" Binding="{Binding Mask, UpdateSourceTrigger=PropertyChanged}" ElementStyle="{StaticResource ConfigDataGridTextStyle}" EditingElementStyle="{StaticResource ConfigDataGridEditingTextStyle}" Width="*" />
@@ -254,10 +269,14 @@
                                                         <Button.Style>
                                                             <Style TargetType="Button" BasedOn="{StaticResource {x:Type Button}}">
                                                                 <Setter Property="Visibility" Value="Collapsed" />
+                                                                <Setter Property="IsEnabled" Value="True" />
                                                                 <Style.Triggers>
                                                                     <DataTrigger Binding="{Binding CustomRoutesEnabled}" Value="True">
                                                                         <Setter Property="Visibility" Value="Visible" />
                                                                     </DataTrigger>
+                                                                    <DataTrigger Binding="{Binding Dhcp4}" Value="True">
+                                                                        <Setter Property="IsEnabled" Value="False" />
+                                                                    </DataTrigger>
                                                                 </Style.Triggers>
                                                             </Style>
                                                         </Button.Style>