You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

247 lines
13 KiB

<UserControl x:Class="ECMonitor.Page.SystemSet.SearchIpc"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:materialDesign="http://materialdesigninxaml.net/winfx/xaml/themes"
xmlns:prism="http://prismlibrary.com/"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:i="http://schemas.microsoft.com/xaml/behaviors"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:mvvm="clr-namespace:ECMonitor.MVVM"
prism:ViewModelLocator.AutoWireViewModel="True"
mc:Ignorable="d" d:DesignHeight="450" d:DesignWidth="800"
x:Name="ThatPage">
<i:Interaction.Triggers>
<i:EventTrigger EventName="Loaded">
<i:InvokeCommandAction Command="{Binding LoadedCommand}" CommandParameter="{Binding ElementName=ThatPage}" />
</i:EventTrigger>
</i:Interaction.Triggers>
<UserControl.Resources>
<SolidColorBrush x:Key="BtnInActiveBrush" Color="#393d46" />
<SolidColorBrush x:Key="BtnActiveBrush" Color="#478cb6" />
<SolidColorBrush x:Key="DGHeaderBrush" Color="#424242" />
<SolidColorBrush x:Key="DGBorderBrush" Color="{StaticResource PageBorderColor}" Opacity="0.8" />
<SolidColorBrush x:Key="DGLineBrush" Color="{StaticResource PageBorderColor}" Opacity="0.9" />
<Style x:Key="paramPanel" TargetType="{x:Type StackPanel}">
<Setter Property="Orientation" Value="Horizontal" />
<Setter Property="HorizontalAlignment" Value="Center" />
<Setter Property="VerticalAlignment" Value="Center" />
</Style>
<Style x:Key="paramLabel" TargetType="{x:Type Label}" BasedOn="{StaticResource MaterialDesignLabel}">
</Style>
<Style x:Key="paramTextBox" TargetType="{x:Type TextBox}" BasedOn="{StaticResource MaterialDesignTextBox}">
<Setter Property="Width" Value="100" />
<Setter Property="BorderThickness" Value="1" />
<Setter Property="BorderBrush" Value="SlateGray" />
<Setter Property="Foreground" Value="AntiqueWhite" />
<Setter Property="materialDesign:TextFieldAssist.TextFieldCornerRadius" Value="4" />
</Style>
<Style x:Key="paramPasswordBox" TargetType="{x:Type PasswordBox}" BasedOn="{StaticResource MaterialDesignPasswordBox}">
<Setter Property="Width" Value="100" />
<Setter Property="BorderThickness" Value="1" />
<Setter Property="BorderBrush" Value="SlateGray" />
<Setter Property="Foreground" Value="AntiqueWhite" />
<Setter Property="materialDesign:TextFieldAssist.TextFieldCornerRadius" Value="4" />
<Setter Property="materialDesign:TextFieldAssist.HasClearButton" Value="True" />
</Style>
<!--<Style x:Key="paramComboBox" TargetType="{x:Type ComboBox}" BasedOn="{StaticResource {x:Type ComboBox}}">-->
<Style x:Key="paramComboBox" TargetType="{x:Type ComboBox}" BasedOn="{StaticResource MaterialDesignComboBox}">
<Setter Property="Width" Value="100" />
<Setter Property="BorderThickness" Value="1" />
<Setter Property="BorderBrush" Value="SlateGray" />
<Setter Property="Foreground" Value="AntiqueWhite" />
<!--<Setter Property="SelectedIndex" Value="0" />-->
<Setter Property="materialDesign:TextFieldAssist.TextFieldCornerRadius" Value="4" />
</Style>
<Style x:Key="btnPanel" TargetType="{x:Type StackPanel}">
<Setter Property="Orientation" Value="Horizontal" />
<Setter Property="HorizontalAlignment" Value="Center" />
<Setter Property="VerticalAlignment" Value="Center" />
</Style>
<Style x:Key="paramButton" TargetType="{x:Type Button}" BasedOn="{StaticResource MaterialDesignFlatDarkBgButton}">
<Setter Property="Margin" Value="0,0,6,0" />
<Setter Property="Background" Value="{StaticResource BtnInActiveBrush}" />
<Setter Property="Foreground" Value="WhiteSmoke" />
<Setter Property="BorderBrush" Value="{StaticResource PageBorderBrush}" />
<Setter Property="BorderThickness" Value="1" />
<Setter Property="FontSize" Value="12" />
<Setter Property="Cursor" Value="Hand" />
<Setter Property="HorizontalAlignment" Value="Center" />
<Setter Property="VerticalAlignment" Value="Center" />
<Setter Property="materialDesign:ButtonAssist.CornerRadius" Value="5" />
<Style.Triggers>
<Trigger Property="IsPressed" Value="True">
<Setter Property="Background" Value="{StaticResource BtnActiveBrush}" />
</Trigger>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Background" Value="{StaticResource BtnActiveBrush}" />
</Trigger>
</Style.Triggers>
</Style>
</UserControl.Resources>
<Grid Background="{DynamicResource PageBodyBrush}">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="200" />
</Grid.ColumnDefinitions>
<DockPanel Grid.Column="0">
<DataGrid x:Name="InfoGrid" ItemsSource="{Binding InfoList, Mode=OneWay}">
<DataGrid.Style>
<Style TargetType="DataGrid" BasedOn="{StaticResource MaterialDesignDataGrid}">
<Setter Property="Background" Value="{StaticResource PageBodyBrush}" />
<Setter Property="GridLinesVisibility" Value="All" />
<Setter Property="HorizontalGridLinesBrush" Value="{StaticResource DGLineBrush}" />
<Setter Property="VerticalGridLinesBrush" Value="{StaticResource DGLineBrush}" />
<Setter Property="BorderBrush" Value="{StaticResource DGLineBrush}" />
<Setter Property="BorderThickness" Value="1" />
<Setter Property="HeadersVisibility" Value="Column" />
<Setter Property="ScrollViewer.VerticalScrollBarVisibility" Value="Auto" />
<Setter Property="ScrollViewer.HorizontalScrollBarVisibility" Value="Auto" />
<Setter Property="AutoGenerateColumns" Value="False" />
<Setter Property="CanUserAddRows" Value="False" />
<Setter Property="CanUserDeleteRows" Value="False" />
<Setter Property="CanUserResizeRows" Value="False" />
<Setter Property="CanUserResizeColumns" Value="True" />
<Setter Property="CanUserReorderColumns" Value="False" />
<Setter Property="CanUserSortColumns" Value="False" />
</Style>
</DataGrid.Style>
<DataGrid.RowHeaderStyle>
<Style TargetType="DataGridRowHeader" BasedOn="{StaticResource MaterialDesignDataGridRowHeader}">
<Setter Property="HorizontalContentAlignment" Value="Center" />
<Setter Property="VerticalContentAlignment" Value="Center" />
</Style>
</DataGrid.RowHeaderStyle>
<DataGrid.ColumnHeaderStyle>
<Style TargetType="DataGridColumnHeader" BasedOn="{StaticResource MaterialDesignDataGridColumnHeader}">
<Setter Property="Background" Value="{StaticResource DGHeaderBrush}" />
<Setter Property="HorizontalContentAlignment" Value="Center" />
</Style>
</DataGrid.ColumnHeaderStyle>
<DataGrid.Columns>
<materialDesign:DataGridTextColumn
Header="类型" Width="90" IsReadOnly="True"
Binding="{Binding IpcType, UpdateSourceTrigger=PropertyChanged}"
ElementStyle="{StaticResource MaterialDesignDataGridTextColumnStyle}"
EditingElementStyle="{StaticResource MaterialDesignDataGridTextColumnEditingStyle}">
</materialDesign:DataGridTextColumn>
<materialDesign:DataGridTextColumn
Header="地址" Width="120" IsReadOnly="True"
Binding="{Binding IpcIp, UpdateSourceTrigger=PropertyChanged}"
ElementStyle="{StaticResource MaterialDesignDataGridTextColumnStyle}"
EditingElementStyle="{StaticResource MaterialDesignDataGridTextColumnEditingStyle}">
</materialDesign:DataGridTextColumn>
<materialDesign:DataGridTextColumn
Header="设备地址" Width="*" IsReadOnly="True"
Binding="{Binding OnvifAddr, UpdateSourceTrigger=PropertyChanged}"
ElementStyle="{StaticResource MaterialDesignDataGridTextColumnStyle}"
EditingElementStyle="{StaticResource MaterialDesignDataGridTextColumnEditingStyle}">
</materialDesign:DataGridTextColumn>
<materialDesign:DataGridTextColumn
Header="媒体地址" Width="*" IsReadOnly="True"
Binding="{Binding MediaAddr, UpdateSourceTrigger=PropertyChanged}"
ElementStyle="{StaticResource MaterialDesignDataGridTextColumnStyle}"
EditingElementStyle="{StaticResource MaterialDesignDataGridTextColumnEditingStyle}">
</materialDesign:DataGridTextColumn>
<materialDesign:DataGridTextColumn
Header="云台地址" Width="*" IsReadOnly="True"
Binding="{Binding PtzAddr, UpdateSourceTrigger=PropertyChanged}"
ElementStyle="{StaticResource MaterialDesignDataGridTextColumnStyle}"
EditingElementStyle="{StaticResource MaterialDesignDataGridTextColumnEditingStyle}">
</materialDesign:DataGridTextColumn>
<materialDesign:DataGridTextColumn
Header="主码流" Width="*" IsReadOnly="True"
Binding="{Binding RtspMain, UpdateSourceTrigger=PropertyChanged}"
ElementStyle="{StaticResource MaterialDesignDataGridTextColumnStyle}"
EditingElementStyle="{StaticResource MaterialDesignDataGridTextColumnEditingStyle}">
</materialDesign:DataGridTextColumn>
<materialDesign:DataGridTextColumn
Header="子码流" Width="*" IsReadOnly="True"
Binding="{Binding RtspSub, UpdateSourceTrigger=PropertyChanged}"
ElementStyle="{StaticResource MaterialDesignDataGridTextColumnStyle}"
EditingElementStyle="{StaticResource MaterialDesignDataGridTextColumnEditingStyle}">
</materialDesign:DataGridTextColumn>
</DataGrid.Columns>
</DataGrid>
</DockPanel>
<Border Grid.Column="1" BorderBrush="{StaticResource PageBorderBrush}" BorderThickness="1">
<StackPanel VerticalAlignment="Top">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="40" />
<RowDefinition Height="40" />
<RowDefinition Height="40" />
<RowDefinition Height="40" />
<RowDefinition Height="40" />
<RowDefinition Height="40" />
<RowDefinition Height="40" />
<RowDefinition Height="40" />
</Grid.RowDefinitions>
<StackPanel Grid.Row="0" Style="{StaticResource paramPanel}">
<Label Content="录 像 机 " Style="{StaticResource paramLabel}" />
<ComboBox x:Name="NvrInfoComboBox" Style="{StaticResource paramComboBox}"
ItemsSource="{Binding NvrInfoList}" DisplayMemberPath="NvrName" SelectedValue="{Binding SelectedNvrInfo}">
<i:Interaction.Triggers>
<i:EventTrigger EventName="SelectionChanged">
<mvvm:ExtendEventCommand Command="{Binding NvrInfoComboBoxSelectionChangedCommand}" />
</i:EventTrigger>
</i:Interaction.Triggers>
</ComboBox>
</StackPanel>
<StackPanel Grid.Row="1" Style="{StaticResource paramPanel}">
<Label Content="用户姓名" Style="{StaticResource paramLabel}" />
<TextBox Text="{Binding UserName,Mode=TwoWay}" Style="{StaticResource paramTextBox}" />
</StackPanel>
<StackPanel Grid.Row="2" Style="{StaticResource paramPanel}">
<Label Content="用户密码" Style="{StaticResource paramLabel}" />
<PasswordBox mvvm:PasswordBoxHelper.Password="{Binding Password, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" Style="{StaticResource paramPasswordBox}" />
</StackPanel>
<StackPanel Grid.Row="3" Style="{StaticResource paramPanel}">
<Label Content="选择网卡" Style="{StaticResource paramLabel}" />
<ComboBox x:Name="NetworkCardComboBox" Style="{StaticResource paramComboBox}"
ItemsSource="{Binding NetworkCardList}" DisplayMemberPath="Name" SelectedValue="{Binding SelectedNetworkCard}">
</ComboBox>
</StackPanel>
<StackPanel Grid.Row="4" Style="{StaticResource paramPanel}">
<Label Content="搜索时长" Style="{StaticResource paramLabel}" />
<ComboBox x:Name="TimeoutComboBox" Style="{StaticResource paramComboBox}"
ItemsSource="{Binding TimeoutList}" SelectedValue="{Binding SelectedTimeout}">
</ComboBox>
</StackPanel>
<StackPanel Grid.Row="5" Style="{StaticResource btnPanel}">
<Button Style="{StaticResource paramButton}" Content="广播搜索" Command="{Binding BroadcastSearchCommand}" />
<Button Style="{StaticResource paramButton}" Content="刷 新" Command="{Binding RefreshCommand}" />
</StackPanel>
<StackPanel Grid.Row="6" Style="{StaticResource btnPanel}">
<Button Style="{StaticResource paramButton}" Content="获取所有" Command="{Binding GainAllCommand}" />
<Button Style="{StaticResource paramButton}" Content="获取当前" Command="{Binding GainSelectedCommand}" />
</StackPanel>
<StackPanel Grid.Row="7" Style="{StaticResource btnPanel}">
<Button Style="{StaticResource paramButton}" Content="添加所有" Command="{Binding PublishAllCommand}" />
<Button Style="{StaticResource paramButton}" Content="添加当前" Command="{Binding PublishSelectedCommand}" />
</StackPanel>
</Grid>
</StackPanel>
</Border>
</Grid>
</UserControl>