Files
6098/Cowain.Bake.Main/Views/MainWindow.xaml

186 lines
13 KiB
Plaintext
Raw Normal View History

<Window xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:prism="http://prismlibrary.com/"
prism:ViewModelLocator.AutoWireViewModel="True"
xmlns:ad="https://github.com/Dirkster99/AvalonDock"
xmlns:hc="https://handyorg.github.io/handycontrol"
x:Class="Cowain.Bake.Main.Views.MainWindow"
xmlns:converter="clr-namespace:Cowain.Bake.Common.Converter;assembly=Cowain.Bake.Common"
xmlns:bllConverter="clr-namespace:Cowain.Bake.BLL.Converter;assembly=Cowain.Bake.BLL"
xmlns:control="clr-namespace:Cowain.Bake.Main.Views"
xmlns:local="clr-namespace:Cowain.Bake.Main.ViewModels"
mc:Ignorable="d"
WindowState="Maximized"
Closing="Window_Closing"
Title="{Binding MainTitle}" Height="900" Width="1600" Loaded="Window_Loaded">
<Window.Resources>
<converter:BindingColor x:Key="ColorConverter"/>
<bllConverter:StationIdConverter x:Key="StationIdConverter"/>
<Style x:Key="DefaultToolTipStyle" TargetType="{x:Type ToolTip}">
<Setter Property="Foreground" Value="Yellow"/>
<Setter Property = "Background" Value="Blue"/>
<Setter Property = "FontSize" Value="14"/>
<Setter Property="BorderBrush" Value="White"/>
</Style>
<Style x:Key="MyButton" TargetType="Button">
<Style.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Background" Value="LightBlue"/>
</Trigger>
</Style.Triggers>
</Style>
<Style TargetType="{x:Type TabItem}" x:Key="BaseTabItem">
<Setter Property="Header" Value="{Binding DataContext.PageTitle}"/>
<Setter Property="Background" Value="Transparent"/>
<Setter Property="Margin" Value="2,0"/>
<Setter Property="Foreground" Value="#444"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type TabItem}">
<Grid Background="{TemplateBinding Background}">
<Grid.ColumnDefinitions>
<ColumnDefinition/>
<ColumnDefinition Width="auto" MaxWidth="30" MinWidth="10"/>
</Grid.ColumnDefinitions>
<TextBlock Text="{TemplateBinding Header}" VerticalAlignment="Center" Margin="10,5"/>
<Grid Grid.Column="1" x:Name="close_grid" Width="30" Visibility="Collapsed">
<Button Foreground="{TemplateBinding Foreground}"
Visibility="Collapsed" x:Name="close_btn" Height="24"
Command="{Binding DataContext.CloseCommand}"
CommandParameter="{Binding DataContext.NavUri}"/>
</Grid>
</Grid>
<ControlTemplate.Triggers>
<DataTrigger Binding="{Binding DataContext.IsCanClose}" Value="True">
<Setter TargetName="close_grid" Property="Visibility" Value="Visible"/>
</DataTrigger>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Visibility" Value="Visible" TargetName="close_btn"/>
</Trigger>
<Trigger Property="IsSelected" Value="True">
<Setter Property="Visibility" Value="Visible" TargetName="close_btn"/>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
<Style.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Background" Value="#EEE"/>
</Trigger>
<Trigger Property="IsSelected" Value="True">
<Setter Property="Background" Value="#FF0ABEFF"/>
<Setter Property="Foreground" Value="White"/>
</Trigger>
</Style.Triggers>
</Style>
</Window.Resources>
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="88" />
<RowDefinition Height="*" />
<RowDefinition Height="30" />
</Grid.RowDefinitions>
<ContentControl prism:RegionManager.RegionName="MainHeaderRegion" Grid.Row="0"></ContentControl>
<!--工作窗口-->
<DockingManager x:Name="dockingManager" Grid.Row="1">
<DockingManager.Background>
<LinearGradientBrush StartPoint="0.5,0" EndPoint="0.5,1">
<!-- 起点颜色 -->
<GradientStop Color="LightBlue" Offset="0" />
<!-- 终点颜色 -->
<GradientStop Color="LightBlue" Offset="1" />
</LinearGradientBrush>
</DockingManager.Background>
<DockingManager.Theme>
<Vs2013BlueTheme/>
</DockingManager.Theme>
<LayoutRoot>
<LayoutPanel Orientation="Horizontal">
<LayoutAnchorablePane DockWidth="200">
<!--<LayoutAnchorable Title="菜单栏" CanClose="False" CanFloat="False" CanHide="False" ContentId="Solution">
-->
<!--放置菜单的区域-->
<!--
<ContentControl prism:RegionManager.RegionName="LeftMenuTreeRegion"/>
</LayoutAnchorable>-->
<LayoutAnchorable Title="基础信息" CanClose="False" CanFloat="False" CanHide="False" ContentId="Solution">
<!--基础-->
<ContentControl prism:RegionManager.RegionName="BasicInfoRegion"/>
</LayoutAnchorable>
<LayoutAnchorable Title="日志信息" CanClose="False" CanFloat="False" CanHide="False" ContentId="Solution">
<!--日志-->
<control:LogManagement x:Name="logManagement1" LogLevelSource="{Binding LogLevelModel1}"
LoglistItem="{Binding InfoLogModel,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}"/>
<!--<ContentControl prism:RegionManager.RegionName="LogInfoRegion" x:Name="logManagement1"/>-->
</LayoutAnchorable>
</LayoutAnchorablePane>
<LayoutPanel Orientation="Vertical">
<LayoutDocumentPane IsMaximized="True" x:Name="tabPanel">
<LayoutDocument Title="主窗口" CanClose="False" ContentId="second" IsSelected="True">
<ContentControl prism:RegionManager.RegionName="StationInfoRegion"/>
</LayoutDocument>
<LayoutDocument Title="报警窗口" CanClose="False" ContentId="second">
<Grid>
<TabControl>
<TabItem Header="实时告警">
<DataGrid ItemsSource="{Binding Alarms}" AutoGenerateColumns="False" IsReadOnly="True" HorizontalAlignment="Left" Height="850" VerticalAlignment="Top" Width="1387" Margin="15,15,15,15">
<DataGrid.RowStyle>
<Style TargetType="DataGridRow">
<Style.Triggers>
<Trigger Property="IsSelected" Value="True">
<Setter Property="Background" Value="Blue"/>
<Setter Property="Foreground" Value="White"/>
</Trigger>
</Style.Triggers>
<Setter Property="Foreground" Value="{Binding Status, Converter={StaticResource ColorConverter}}"/>
</Style>
</DataGrid.RowStyle>
<DataGrid.Columns>
<DataGridTextColumn Header="工站名称" Binding="{Binding StationId,Converter={StaticResource StationIdConverter}}" Width="100" Visibility="Visible"/>
<DataGridTextColumn Header="报警内容" Binding="{Binding Desc}" Width="500"/>
<DataGridTextColumn Header="开始时间" Binding="{Binding StartTime,StringFormat='yyyy/MM/dd HH:mm:ss'}" Width="200"/>
<DataGridTextColumn Header="结束时间" Binding="{Binding StopTime,StringFormat='yyyy/MM/dd HH:mm:ss'}" Width="200" Visibility="Hidden"/>
<DataGridTextColumn Header="状态" Binding="{Binding Status}" Width="100"/>
</DataGrid.Columns>
</DataGrid>
</TabItem>
<TabItem Header="记录查询">
<Grid>
<DataGrid Margin="0,50,0,0" AutoGenerateColumns="False" ItemsSource="{Binding HistoryAlarmsData}">
<DataGrid.Columns>
<DataGridTextColumn Header="工站名称" Binding="{Binding StationId,Converter={StaticResource StationIdConverter}}" Width="100"/>
<DataGridTextColumn Header="报警内容" Binding="{Binding Desc}" Width="500"/>
<DataGridTextColumn Header="开始时间" Binding="{Binding StartTime,StringFormat='yyyy/MM/dd HH:mm:ss'}" Width="200"/>
<DataGridTextColumn Header="结束时间" Binding="{Binding StopTime,StringFormat='yyyy/MM/dd HH:mm:ss'}" Width="200" />
<DataGridTextColumn Header="状态" Binding="{Binding Status}" Width="100"/>
</DataGrid.Columns>
</DataGrid>
<hc:DatePicker HorizontalAlignment="Left" Text="{Binding AlarmStartTime,Mode=TwoWay}" VerticalAlignment="Top" Width="131" Margin="8,9,0,0"/>
<hc:DatePicker HorizontalAlignment="Left" Text="{Binding AlarmEndTime,Mode=TwoWay}" VerticalAlignment="Top" Width="140" Margin="144,9,0,0"/>
<Button Content="查询" Style="{StaticResource ButtonInfo}" Name="alarmReport" Command="{Binding AlarmQueryCommand}" HorizontalAlignment="Left" VerticalAlignment="Top" Width="75" Margin="297,9,0,0"/>
<Button Content="导出Excel" Style="{StaticResource ButtonInfo}" x:Name="alarmExportExcel" Command="{Binding AlarmExportExcel}" HorizontalAlignment="Left" VerticalAlignment="Top" Width="75" Margin="391,10,0,0"/>
</Grid>
</TabItem>
<hc:DateTimePicker HorizontalAlignment="Left" VerticalAlignment="Top" Width="195"/>
</TabControl>
</Grid>
</LayoutDocument>
<LayoutDocument x:Name="showWindow" Title="" CanClose="False" ContentId="second">
<!--数据展示-->
<ContentControl prism:RegionManager.RegionName="MainContentRegion" />
</LayoutDocument>
</LayoutDocumentPane>
</LayoutPanel>
</LayoutPanel>
</LayoutRoot>
</DockingManager>
<!--底部消息-->
<!--<hc:RunningBlock AutoReverse="False" Grid.Row="2" Height="50" Content="{Binding PromptContent,Mode=TwoWay}" FontSize="18" FontWeight="Bold" Foreground="OrangeRed" Duration="0:0:20" VerticalAlignment="Center"/>-->
</Grid>
</Window>