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.

185 lines
12 KiB

<UserControl x:Class="SmartAquaViewer.View.CCTVView"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:local="clr-namespace:SmartAquaViewer.View"
xmlns:classes="clr-namespace:SmartAquaViewer.Classes"
xmlns:controls="clr-namespace:SmartAquaViewer.Controls"
xmlns:helper="clr-namespace:SmartAquaViewer.Helper"
xmlns:model="clr-namespace:SmartAquaViewer.Model"
xmlns:md="http://materialdesigninxaml.net/winfx/xaml/themes"
mc:Ignorable="d"
d:DesignHeight="450" d:DesignWidth="800">
<Border BorderBrush="#1D3649" BorderThickness="0 0 2 0">
<md:DrawerHost RightDrawerBackground="Transparent" IsRightDrawerOpen="{Binding IsOpenMode}" OpenMode="Standard">
<Border>
<Grid Background="Transparent">
<ItemsControl ItemsSource="{Binding PlayerVMs}" Margin="0 0 46 0">
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<UniformGrid x:Name="ugrdFFPlayer" Rows="{Binding RowCount}" Columns="{Binding ColumnCount}" />
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
<ItemsControl.ItemTemplate>
<DataTemplate>
<controls:FFPlayerControl/>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
<Grid HorizontalAlignment="Right">
<Button Name="btnVisibilityRight" Tag="right"
Style="{StaticResource VerticalTrapezoidButtonStyle}" Command="{Binding ChangeDrawerStatusCommand}"
VerticalAlignment="Top" HorizontalAlignment="Left" Visibility="{Binding BtnVisibilityRight}">
<Path Data="M13.0607 12.1111L8.11067 17.0611L9.52467 18.4751L15.8887 12.1111L9.52467 5.7471L8.11067 7.1611L13.0607 12.1111Z"
Fill="White" Stretch="Uniform"
Width="7.78" Height="12.728"
HorizontalAlignment="Center"
VerticalAlignment="Center"/>
</Button>
<Button Name="btnVisibilityLeft" Tag="left"
Style="{StaticResource VerticalTrapezoidButtonStyle}" Command="{Binding ChangeDrawerStatusCommand}"
VerticalAlignment="Top" HorizontalAlignment="Left" Visibility="{Binding BtnVisibilityLeft}">
<Path Data="M11.1615 12.1111 L16.11153 17.0611 L14.69753 18.4751 L8.3335 12.1111 L14.69753 5.7471 L16.11153 7.1611 Z"
Fill="White" Stretch="Uniform"
Width="7.78" Height="12.728"
HorizontalAlignment="Center"
VerticalAlignment="Center"/>
</Button>
</Grid>
</Grid>
</Border>
<md:DrawerHost.RightDrawerContent>
<Border Width="348" Background="#1D3649" CornerRadius="0 4 4 0">
<Border Margin="16" CornerRadius="4" Background="#152935"
BorderBrush="#325C80" BorderThickness="1">
<Grid Margin="24">
<Grid.RowDefinitions>
<RowDefinition Height="41"/>
<RowDefinition/>
<RowDefinition Height="81"/>
</Grid.RowDefinitions>
<StackPanel Orientation="Horizontal" Margin="0 0 0 16">
<Image Source="/Resources/Images/cctv.png"
VerticalAlignment="Center"
Width="20" Height="20"/>
<TextBlock Text="CCTV 목록" FontFamily="{StaticResource SCDream5}"
FontSize="18" FontWeight="Bold" Foreground="White"
VerticalAlignment="Center" Margin="8 0"/>
</StackPanel>
<ListView Grid.Row="1" Width="250"
ItemsSource="{Binding CCTVInfoList}"
ScrollViewer.VerticalScrollBarVisibility="Hidden"
ScrollViewer.HorizontalScrollBarVisibility="Hidden"
BorderThickness="0" Background="Transparent">
<ListView.ItemContainerStyle>
<Style TargetType="ListViewItem">
<Setter Property="VerticalContentAlignment" Value="Center"/>
<Setter Property="HorizontalContentAlignment" Value="Stretch"/>
<Setter Property="IsHitTestVisible" Value="False"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="ListViewItem">
<Border x:Name="RowBorder"
BorderBrush="#767676"
BorderThickness="0 0 0 1"
Background="Transparent">
<GridViewRowPresenter
Content="{TemplateBinding Content}"
Columns="{Binding RelativeSource={RelativeSource AncestorType=ListView},
Path=View.Columns}"
VerticalAlignment="Center"
Height="40"/>
</Border>
<ControlTemplate.Triggers>
<Trigger Property="IsSelected" Value="True">
<Setter TargetName="RowBorder" Property="Background" Value="#2D4B63"/>
</Trigger>
<Trigger Property="IsMouseOver" Value="True">
<Setter TargetName="RowBorder" Property="Background" Value="#223E52"/>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</ListView.ItemContainerStyle>
<ListView.View>
<GridView ColumnHeaderContainerStyle="{StaticResource GridViewColumnHeaderStyle}">
<GridViewColumn Header="상태" Width="60">
<GridViewColumn.CellTemplate>
<DataTemplate>
<Ellipse Width="14" Height="14">
<Ellipse.Style>
<Style TargetType="Ellipse">
<Setter Property="Fill" Value="Red"/>
<Style.Triggers>
<DataTrigger Binding="{Binding Status}" Value="{x:Static model:CCTVStatus.Connected}">
<Setter Property="Fill" Value="LimeGreen"/>
</DataTrigger>
</Style.Triggers>
</Style>
</Ellipse.Style>
</Ellipse>
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<GridViewColumn Header="ID" Width="95">
<GridViewColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding DeviceId}"
Style="{StaticResource GridViewTextBlockStyle}"/>
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<GridViewColumn Header="CCTV" Width="95">
<GridViewColumn.CellTemplate>
<DataTemplate>
<TextBlock
Text="{Binding DeviceName}"
Style="{StaticResource GridViewTextBlockStyle}"/>
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
</GridView>
</ListView.View>
</ListView>
<!--하단 버튼-->
<Grid Grid.Row="2">
<Button Padding="0" Content="재생"
Style="{StaticResource GeneralButtonStyle}"
Margin="0 16 0 0"
Width="250" Height="41"
Visibility="{Binding BtnVisibilityPlay}"
HorizontalAlignment="Center" VerticalAlignment="Bottom"
Command="{Binding PlayAllCCTVCommand}">
<Button.ToolTip>
<ToolTip Content="CCTV 재생"/>
</Button.ToolTip>
</Button>
<Button Padding="0" Content="중지"
Style="{StaticResource GeneralButtonStyle}"
Margin="0 16 0 0"
Width="250" Height="41"
Visibility="{Binding BtnVisibilityStop}"
HorizontalAlignment="Stretch" VerticalAlignment="Bottom"
Command="{Binding StopAllCCTVCommand}">
<Button.ToolTip>
<ToolTip Content="CCTV 재생"/>
</Button.ToolTip>
</Button>
</Grid>
</Grid>
</Border>
</Border>
</md:DrawerHost.RightDrawerContent>
</md:DrawerHost>
</Border>
</UserControl>