1049 lines
64 KiB
XML

<UserControl
x:Class="SWS.WPF.Views.DialogSignalManagement"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:CustomControl="clr-namespace:SWS.CustomControl;assembly=SWS.CustomControl"
xmlns:cvt="clr-namespace:SWS.Commons.Helper.Converter;assembly=SWS.Commons"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:i="http://schemas.microsoft.com/xaml/behaviors"
xmlns:local="clr-namespace:SWS.WPF.Views"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:prism="http://prismlibrary.com/"
xmlns:sys="clr-namespace:System;assembly=mscorlib"
xmlns:telerik="http://schemas.telerik.com/2008/xaml/presentation"
mc:Ignorable="d">
<prism:Dialog.WindowStyle>
<Style TargetType="Window">
<!-- 最大化 -->
<Setter Property="Width" Value="{Binding Source={x:Static SystemParameters.WorkArea}, Path=Width}" />
<Setter Property="Height" Value="{Binding Source={x:Static SystemParameters.WorkArea}, Path=Height}" />
<Setter Property="SizeToContent" Value="WidthAndHeight" />
<Setter Property="WindowState" Value="Normal" />
<Setter Property="WindowStyle" Value="None" />
<Setter Property="ResizeMode" Value="NoResize" />
</Style>
</prism:Dialog.WindowStyle>
<UserControl.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="pack://application:,,,/SWS.WPF;component/Style/CustomStyles.xaml" />
</ResourceDictionary.MergedDictionaries>
<!-- 转换器 -->
<cvt:RadGridViewRowToBoolConverter x:Key="RowToBoolCvt" />
<cvt:TimeSpanValueConverter x:Key="TimeSpanValueCvt" />
<cvt:TimeSpanToColourValueConverter x:Key="TimeSpanToColourCvt" />
<CustomControl:CollectionToStringConverter x:Key="CollectionToStringConverter" />
<!-- 模版样式 -->
<DataTemplate x:Key="CellTemplate1">
<TextBlock Text="{Binding WHCPUs, Converter={StaticResource CollectionToStringConverter}}" />
</DataTemplate>
<DataTemplate x:Key="CellEditTemplate1">
<CustomControl:MultiSelectSearchComboBox
x:Name="MultiSelectSearchComboBox1"
Width="auto"
Height="auto"
Delimiter="|"
DisplayMemberPath="DataItemName"
IsSelectAllActive="True"
ItemsSource="{Binding DataContext.WHCPUs, RelativeSource={RelativeSource AncestorType={x:Type telerik:RadTreeListView}}}"
SelectedItems="{Binding WHCPUs}"
SelectedValuePath="DataItemCode" />
</DataTemplate>
<DataTemplate x:Key="CellTemplate2">
<TextBlock Text="{Binding ECRCPUs, Converter={StaticResource CollectionToStringConverter}}" />
</DataTemplate>
<DataTemplate x:Key="CellEditTemplate2">
<CustomControl:MultiSelectSearchComboBox
x:Name="MultiSelectSearchComboBox1"
Width="auto"
Height="auto"
Delimiter="|"
DisplayMemberPath="DataItemName"
IsSelectAllActive="True"
ItemsSource="{Binding DataContext.ECRCPUs, RelativeSource={RelativeSource AncestorType={x:Type telerik:RadTreeListView}}}"
SelectedItems="{Binding ECRCPUs}"
SelectedValuePath="DataItemCode" />
</DataTemplate>
<DataTemplate x:Key="CellTemplate3">
<TextBlock Text="{Binding ShipOfficeCPUs, Converter={StaticResource CollectionToStringConverter}}" />
</DataTemplate>
<DataTemplate x:Key="CellEditTemplate3">
<CustomControl:MultiSelectSearchComboBox
x:Name="MultiSelectSearchComboBox1"
Width="auto"
Height="auto"
Delimiter="|"
DisplayMemberPath="DataItemName"
IsSelectAllActive="True"
ItemsSource="{Binding DataContext.ShipOfficeCPUs, RelativeSource={RelativeSource AncestorType={x:Type telerik:RadTreeListView}}}"
SelectedItems="{Binding ShipOfficeCPUs}"
SelectedValuePath="DataItemCode" />
</DataTemplate>
<Style x:Key="buttoustyle1" TargetType="telerik:RadButton">
<Style.Triggers>
<DataTrigger Binding="{Binding Content, ElementName=myButton}" Value="显示全部">
<Setter Property="IsEnabled" Value="False" />
</DataTrigger>
</Style.Triggers>
</Style>
<!-- 定义展开按钮样式 -->
<Style x:Key="ExpandButtonStyle" TargetType="telerik:GridViewToggleButton">
<Setter Property="telerik:StyleManager.Theme" Value="Office_Blue" />
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="telerik:GridViewToggleButton">
<Border Background="Red">
<Border Background="Red">
<Grid>
<!-- 自定义箭头图标 -->
<Path
x:Name="ExpandPath"
Data="M 0 2 L 4 6 L 0 10 Z"
Fill="{TemplateBinding Foreground}"
Stretch="Uniform" />
<Rectangle />
</Grid>
</Border>
</Border>
<ControlTemplate.Triggers>
<Trigger Property="IsChecked" Value="True">
<!-- 展开时旋转箭头(可选) -->
<Setter TargetName="ExpandPath" Property="LayoutTransform">
<Setter.Value>
<RotateTransform Angle="90" />
</Setter.Value>
</Setter>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
<Style x:Key="ToDeleteStatusStyle" TargetType="telerik:GridViewRow">
<Setter Property="Foreground" Value="#db9fa9" />
<Setter Property="Background" Value="Transparent" />
</Style>
<Style x:Key="NewStatusStyle" TargetType="telerik:GridViewRow">
<Setter Property="Foreground" Value="#fc7c2c" />
<Setter Property="Background" Value="Transparent" />
</Style>
<Style x:Key="UsedStatusStyle" TargetType="telerik:GridViewRow">
<Setter Property="Foreground" Value="#49ac64" />
<Setter Property="Background" Value="Transparent" />
</Style>
<Style x:Key="ConfirmedStatusStyle" TargetType="telerik:GridViewRow">
<Setter Property="Foreground" Value="DarkGray" />
<Setter Property="Background" Value="Transparent" />
</Style>
<Style x:Key="ReopenStatusStyle" TargetType="telerik:GridViewRow">
<Setter Property="Foreground" Value="#1c3df5" />
<Setter Property="Background" Value="Transparent" />
</Style>
<Style x:Key="deletedStatusStyle" TargetType="telerik:GridViewRow">
<Setter Property="Foreground" Value="DarkGray" />
<Setter Property="Background" Value="Transparent" />
</Style>
<cvt:StatusToColourConverter x:Key="converter" />
<CustomControl:ConditionalStyleSelector x:Key="selector1" ConditionConverter="{StaticResource converter}">
<CustomControl:ConditionalStyleSelector.Rules>
<CustomControl:ConditionalStyleRule Style="{StaticResource ToDeleteStatusStyle}">
<CustomControl:ConditionalStyleRule.Value>
<sys:String>ToDelete</sys:String>
</CustomControl:ConditionalStyleRule.Value>
</CustomControl:ConditionalStyleRule>
<CustomControl:ConditionalStyleRule Style="{StaticResource NewStatusStyle}">
<CustomControl:ConditionalStyleRule.Value>
<sys:String>New</sys:String>
</CustomControl:ConditionalStyleRule.Value>
</CustomControl:ConditionalStyleRule>
<CustomControl:ConditionalStyleRule Style="{StaticResource UsedStatusStyle}">
<CustomControl:ConditionalStyleRule.Value>
<sys:String>Used</sys:String>
</CustomControl:ConditionalStyleRule.Value>
</CustomControl:ConditionalStyleRule>
<CustomControl:ConditionalStyleRule Style="{StaticResource ConfirmedStatusStyle}">
<CustomControl:ConditionalStyleRule.Value>
<sys:String>Confirmed</sys:String>
</CustomControl:ConditionalStyleRule.Value>
</CustomControl:ConditionalStyleRule>
<CustomControl:ConditionalStyleRule Style="{StaticResource ReopenStatusStyle}">
<CustomControl:ConditionalStyleRule.Value>
<sys:String>Reopen</sys:String>
</CustomControl:ConditionalStyleRule.Value>
</CustomControl:ConditionalStyleRule>
<CustomControl:ConditionalStyleRule Style="{StaticResource deletedStatusStyle}">
<CustomControl:ConditionalStyleRule.Value>
<sys:String>deleted</sys:String>
</CustomControl:ConditionalStyleRule.Value>
</CustomControl:ConditionalStyleRule>
</CustomControl:ConditionalStyleSelector.Rules>
</CustomControl:ConditionalStyleSelector>
</ResourceDictionary>
</UserControl.Resources>
<telerik:RadBusyIndicator BusyContent="{Binding BusyContent}" IsBusy="{Binding IsBusy}">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="auto" />
<RowDefinition Height="30" />
<RowDefinition Height="830" />
</Grid.RowDefinitions>
<CustomControl:customWindowTitleBar x:Name="titleBar" />
<Grid Grid.Row="1" Background="#5d6b99">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="1.2*" />
<ColumnDefinition Width="1*" />
</Grid.ColumnDefinitions>
<StackPanel Grid.Column="0" Orientation="Horizontal">
<TextBlock
Margin="5,0,0,0"
Foreground="White"
Style="{StaticResource sysLabel}"
Text="{Binding pojectName}" />
<!-- 送审时间倒计时 -->
<Border
Margin="50,1,0,1"
Padding="1"
Background="{Binding ReviewCountdown.TimeRemaining, Converter={StaticResource TimeSpanToColourCvt}}"
CornerRadius="6">
<StackPanel VerticalAlignment="Center" Orientation="Horizontal">
<TextBlock
Margin="1,0,5,0"
FontSize="14"
Foreground="White"
Text="送审时间" />
<TextBlock
x:Name="txtReviewCountdown"
Margin="0,0,2,0"
FontSize="14"
FontWeight="Bold"
Foreground="White"
Text="{Binding ReviewTime, StringFormat='yyyy-MM-dd', Mode=TwoWay}"
TextAlignment="Center" />
</StackPanel>
</Border>
<!-- 施工时间倒计时 -->
<Border
Margin="25,1,0,1"
Padding="1"
Background="{Binding ConstructionCountdown.TimeRemaining, Converter={StaticResource TimeSpanToColourCvt}}"
CornerRadius="6">
<StackPanel VerticalAlignment="Center" Orientation="Horizontal">
<TextBlock
Margin="1,0,5,0"
FontSize="14"
Foreground="White"
Text="施工时间" />
<TextBlock
x:Name="txtConstructionCountdown"
Margin="0,0,2,0"
FontSize="14"
FontWeight="Bold"
Foreground="White"
Text="{Binding ConstructionTime, StringFormat='yyyy-MM-dd', UpdateSourceTrigger=PropertyChanged}"
TextAlignment="Center" />
</StackPanel>
</Border>
</StackPanel>
<StackPanel Grid.Column="1" Orientation="Horizontal">
<TextBlock
Width="200"
Foreground="White"
Style="{StaticResource sysLabel}"
Text="{Binding count}" />
<CustomControl:IconButton
Margin="5"
Command="{Binding HeadButtonCmd}"
CommandParameter="保存"
Content="保存"
Foreground="WhiteSmoke"
IconData="M13,3 L3,3 L3,21 L21,21 L21,11 M15,3 L15,8 L21,8 M7,13 L11,17 L17,7"
IconPlacement="Left"
IconSize="16" />
<CustomControl:IconButton
Margin="5"
Command="{Binding HeadButtonCmd}"
CommandParameter="退出"
Content="退出"
Foreground="WhiteSmoke"
IconData="M12,3 L12,9 M12,21 L12,15 M15,18 L21,12 L15,6 M9,6 L3,12 L9,18"
IconPlacement="Left"
IconSize="16"
Visibility="Collapsed" />
<CustomControl:IconButton
Margin="5"
Command="{Binding HeadButtonCmd}"
CommandParameter="通知信息"
Content="通知信息"
Foreground="WhiteSmoke"
IconData="M12 2C8 2 6 5 6 9L4 18H20L18 9C18 5 16 2 12 2M12 22C10.9 22 10 21.1 10 20H14C14 21.1 13.1 22 12 22Z M12 5C15 5 16 7 16 9L17 16H7L8 9C8 7 9 5 12 5 M12 12L12 14 M12 8L12 10"
IconPlacement="Left"
IconSize="16" />
<CustomControl:IconButton
Margin="5"
Command="{Binding HeadButtonCmd}"
CommandParameter="历史记录"
Content="历史记录"
Foreground="WhiteSmoke"
IconData="M12,3 L12,9 M12,21 L12,15 M15,18 L21,12 L15,6 M9,6 L3,12 L9,18"
IconPlacement="Left"
IconSize="16" />
<CustomControl:IconButton
x:Name="PopupButton"
Margin="5"
Command="{Binding HeadButtonCmd}"
CommandParameter="导出全部记录"
Content="导出全部记录"
Foreground="WhiteSmoke"
IconData="M12,3 L12,9 M12,21 L12,15 M15,18 L21,12 L15,6 M9,6 L3,12 L9,18"
IconPlacement="Left"
IconSize="16" />
<!-- 浮框 -->
<Popup
x:Name="CustomPopup"
IsOpen="{Binding PopupButton_IsOpen}"
Placement="Bottom"
PlacementTarget="{Binding ElementName=PopupButton}"
StaysOpen="False">
<Border
Width="200"
Height="150"
Background="#5d6b99"
BorderBrush="#FFBBBBBB"
BorderThickness="1"
CornerRadius="4">
<StackPanel Margin="5">
<TextBlock
Margin="0,0,0,2"
HorizontalAlignment="Left"
VerticalAlignment="Center"
Foreground="White"
Style="{StaticResource sysLabel}"
Text="开始时间:" />
<DatePicker
Width="140"
HorizontalAlignment="Center"
VerticalAlignment="Center"
SelectedDate="{Binding statDate}"
ToolTip="开始时间" />
<TextBlock
Margin="0,5,0,2"
HorizontalAlignment="Left"
VerticalAlignment="Center"
Foreground="White"
Style="{StaticResource sysLabel}"
Text="结束时间:" />
<DatePicker
Width="140"
HorizontalAlignment="Center"
VerticalAlignment="Center"
SelectedDate="{Binding endDate}"
ToolTip="结束时间" />
<telerik:RadButton
Width="100"
Margin="0,10,0,5"
HorizontalAlignment="Center"
Command="{Binding ButtonCmd}"
CommandParameter="导出"
Content="导出"
Style="{StaticResource sysBtn}" />
</StackPanel>
</Border>
</Popup>
<CustomControl:IconButton
x:Name="myButton"
Margin="5"
Command="{Binding HeadButtonCmd}"
CommandParameter="回收站"
Content="{Binding ButtonContent}"
Foreground="WhiteSmoke"
IconData="M5 6L6 20H18L19 6 M3 6H21 M8 6L9 3H15L16 6"
IconPlacement="Left"
IconSize="16" />
<StackPanel Margin="5" Orientation="Horizontal">
<TextBox
Grid.Row="7"
Width="120"
VerticalContentAlignment="Center"
Text="{Binding SearchText}" />
<CustomControl:IconButton
Command="{Binding HeadButtonCmd}"
CommandParameter="搜索框"
Content=""
Foreground="WhiteSmoke"
IconData="M9.5,3 C13.09,3 16,5.91 16,9.5 C16,11.11 15.41,12.59 14.44,13.73 L14.71,14 L20.5,19.79 L19.79,20.5 L14,14.71 L13.73,14.44 C12.59,15.41 11.11,16 9.5,16 C5.91,16 3,13.09 3,9.5 C3,5.91 5.91,3 9.5,3 M9.5,5 C7,5 5,7 5,9.5 C5,12 7,14 9.5,14 C12,14 14,12 14,9.5 C14,7 12,5 9.5,5"
IconSize="16" />
</StackPanel>
</StackPanel>
</Grid>
<Grid Grid.Row="2" Background="#5d6b99">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="9*" />
<ColumnDefinition Width="1*" />
</Grid.ColumnDefinitions>
<telerik:RadTreeListView
Name="RadGridView1"
Grid.Column="0"
Width="1250"
telerik:StyleManager.Theme="Office_Blue"
AutoGenerateColumns="False"
EnableColumnGroupsVirtualization="True"
EnableColumnVirtualization="True"
EnableRowVirtualization="True"
HierarchyColumnIndex="1"
HierarchyExpandButtonStyle="{StaticResource ExpandButtonStyle}"
HierarchyIndent="0"
IsExpandedBinding="{Binding IsExpanded, Mode=TwoWay}"
IsFilteringAllowed="True"
IsReadOnly="False"
ItemsSource="{Binding smInfosView, Mode=TwoWay}"
LeftFrozenColumnCount="4"
RowIndicatorVisibility="Collapsed"
RowStyleSelector="{StaticResource selector}"
SelectedItem="{Binding SelectedSmInfo, Mode=TwoWay}"
SelectionMode="Single"
ShowGroupPanel="False">
<telerik:EventToCommandBehavior.EventBindings>
<telerik:EventBinding
Command="{Binding EditEndCmd}"
EventName="CellEditEnded"
PassEventArgsToCommand="True" />
</telerik:EventToCommandBehavior.EventBindings>
<!--<i:Interaction.Triggers>
<i:EventTrigger EventName="CellEditEnded">
<i:InvokeCommandAction Command="{Binding EditEndCmd}" CommandParameter="{Binding EventArgs}" />
</i:EventTrigger>
</i:Interaction.Triggers>-->
<telerik:RadTreeListView.ColumnGroups>
<telerik:GridViewColumnGroup Name="Range" Header="Range" />
<telerik:GridViewColumnGroup Name="Alarm" Header="Alarm" />
<telerik:GridViewColumnGroup Name="SENSOR" Header="SENSOR" />
<telerik:GridViewColumnGroup Name="GRP." Header="GRP." />
<telerik:GridViewColumnGroup Name="AMS" Header="AMS" />
<telerik:GridViewColumnGroup Name="VDR" Header="VDR" />
<telerik:GridViewColumnGroup Name="W/H" Header="W/H" />
<telerik:GridViewColumnGroup Name="ECR" Header="ECR" />
<telerik:GridViewColumnGroup Name="SHIP OFFICE" Header="SHIP OFFICE" />
</telerik:RadTreeListView.ColumnGroups>
<!-- 层级结构定义 -->
<telerik:RadTreeListView.ChildTableDefinitions>
<telerik:TreeListViewTableDefinition ItemsSource="{Binding ChildSignals}" />
</telerik:RadTreeListView.ChildTableDefinitions>
<telerik:RadTreeListView.Columns>
<telerik:GridViewDataColumn
DataMemberBinding="{Binding serialNumber}"
Header="序号"
IsFilterable="False"
IsReadOnlyBinding="{Binding Converter={StaticResource RowToBoolCvt}, RelativeSource={RelativeSource AncestorType={x:Type telerik:GridViewRow}}, ConverterParameter=序号}">
<telerik:GridViewDataColumn.CellStyle>
<Style TargetType="{x:Type telerik:GridViewCell}">
<Setter Property="Background" Value="#5d6b99" />
<Setter Property="Foreground" Value="White" />
<Setter Property="BorderBrush" Value="Transparent" />
<Setter Property="BorderThickness" Value="0" />
</Style>
</telerik:GridViewDataColumn.CellStyle>
</telerik:GridViewDataColumn>
<telerik:GridViewDataColumn
DataMemberBinding="{Binding type}"
Header="类型"
IsFilterable="False"
IsReadOnlyBinding="{Binding Converter={StaticResource RowToBoolCvt}, RelativeSource={RelativeSource AncestorType={x:Type telerik:GridViewRow}}, ConverterParameter=类型}">
<telerik:GridViewDataColumn.CellStyle>
<Style TargetType="{x:Type telerik:GridViewCell}">
<Setter Property="Background" Value="#5d6b99" />
<Setter Property="Foreground" Value="White" />
</Style>
</telerik:GridViewDataColumn.CellStyle>
</telerik:GridViewDataColumn>
<telerik:GridViewDataColumn
DataMemberBinding="{Binding Group_Name}"
Header="CH.NO"
IsFilterable="False"
IsReadOnlyBinding="{Binding Converter={StaticResource RowToBoolCvt}, RelativeSource={RelativeSource AncestorType={x:Type telerik:GridViewRow}}, ConverterParameter=CH.NO}">
<telerik:GridViewDataColumn.CellStyle>
<Style TargetType="{x:Type telerik:GridViewCell}">
<Setter Property="Background" Value="#FF297ACE" />
<Setter Property="Background" Value="#5d6b99" />
<Setter Property="Foreground" Value="White" />
<Setter Property="BorderBrush" Value="Transparent" />
<Setter Property="BorderThickness" Value="0" />
</Style>
</telerik:GridViewDataColumn.CellStyle>
</telerik:GridViewDataColumn>
<telerik:GridViewDataColumn
Width="200"
DataMemberBinding="{Binding Group_Desc_EN}"
Header="英文描述"
IsFilterable="False"
IsReadOnlyBinding="{Binding Converter={StaticResource RowToBoolCvt}, RelativeSource={RelativeSource AncestorType={x:Type telerik:GridViewRow}}, ConverterParameter=英文描述}" />
<telerik:GridViewDataColumn
Width="120"
DataMemberBinding="{Binding Group_Desc}"
Header="中文描述"
IsFilterable="False"
IsReadOnlyBinding="{Binding Converter={StaticResource RowToBoolCvt}, RelativeSource={RelativeSource AncestorType={x:Type telerik:GridViewRow}}, ConverterParameter=中文描述}" />
<telerik:GridViewComboBoxColumn
DataMemberBinding="{Binding BelongingMajor}"
Header="归属专业"
IsFilterable="False"
IsReadOnlyBinding="{Binding Converter={StaticResource RowToBoolCvt}, RelativeSource={RelativeSource AncestorType={x:Type telerik:GridViewRow}}, ConverterParameter=归属专业}"
ItemsSource="{Binding DataContext.BelongingMajors, RelativeSource={RelativeSource AncestorType={x:Type telerik:RadTreeListView}}}" />
<telerik:GridViewComboBoxColumn
DataMemberBinding="{Binding GroupOther}"
Header="组别"
IsFilterable="False"
IsReadOnlyBinding="{Binding Converter={StaticResource RowToBoolCvt}, RelativeSource={RelativeSource AncestorType={x:Type telerik:GridViewRow}}, ConverterParameter=组别}"
ItemsSource="{Binding DataContext.GroupOthers, RelativeSource={RelativeSource AncestorType={x:Type telerik:RadTreeListView}}}">
<telerik:GridViewComboBoxColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding GroupOther}" />
</DataTemplate>
</telerik:GridViewComboBoxColumn.CellTemplate>
<telerik:GridViewComboBoxColumn.CellEditTemplate>
<DataTemplate>
<ComboBox ItemsSource="{Binding DataContext.GroupOthers, RelativeSource={RelativeSource AncestorType={x:Type telerik:RadTreeListView}}}" SelectedValue="{Binding tempGroupOther, Mode=TwoWay}">
<ComboBox.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<TextBlock x:Name="TextBlock_DataItemName" Text="{Binding DataItemName}" />
<TextBlock Text="|" />
<TextBlock Text="{Binding DataItemCode}" />
</StackPanel>
</DataTemplate>
</ComboBox.ItemTemplate>
</ComboBox>
</DataTemplate>
</telerik:GridViewComboBoxColumn.CellEditTemplate>
</telerik:GridViewComboBoxColumn>
<telerik:GridViewDataColumn
DataMemberBinding="{Binding Signal_SeqNo}"
Header="编码"
IsFilterable="False"
IsReadOnlyBinding="{Binding Converter={StaticResource RowToBoolCvt}, RelativeSource={RelativeSource AncestorType={x:Type telerik:GridViewRow}}, ConverterParameter=编码}" />
<telerik:GridViewDataColumn
DataMemberBinding="{Binding Code}"
Header="Code"
IsFilterable="False"
IsReadOnlyBinding="{Binding Converter={StaticResource RowToBoolCvt}, RelativeSource={RelativeSource AncestorType={x:Type telerik:GridViewRow}}, ConverterParameter=Code}" />
<telerik:GridViewComboBoxColumn
DataMemberBinding="{Binding InOrOut}"
Header="IO类型"
IsFilterable="True"
IsReadOnlyBinding="{Binding Converter={StaticResource RowToBoolCvt}, RelativeSource={RelativeSource AncestorType={x:Type telerik:GridViewRow}}, ConverterParameter=IO类型}"
ItemsSource="{Binding DataContext.InOrOuts, RelativeSource={RelativeSource AncestorType={x:Type telerik:RadTreeListView}}}"
OptimizeDistinctFilterQuery="True"
ShowFieldFilters="False"
ShowFilterButton="False" />
<telerik:GridViewComboBoxColumn
DataMemberBinding="{Binding IO_Type}"
Header="信号类型"
IsFilterable="False"
IsReadOnlyBinding="{Binding Converter={StaticResource RowToBoolCvt}, RelativeSource={RelativeSource AncestorType={x:Type telerik:GridViewRow}}, ConverterParameter=信号类型}"
ItemsSource="{Binding DataContext.IO_Types, RelativeSource={RelativeSource AncestorType={x:Type telerik:RadTreeListView}}}" />
<telerik:GridViewDataColumn
ColumnGroupName="Range"
DataMemberBinding="{Binding Range_Min}"
Header="Min"
IsFilterable="False"
IsReadOnlyBinding="{Binding Converter={StaticResource RowToBoolCvt}, RelativeSource={RelativeSource AncestorType={x:Type telerik:GridViewRow}}, ConverterParameter=Min}" />
<telerik:GridViewDataColumn
ColumnGroupName="Range"
DataMemberBinding="{Binding Range_Max}"
Header="Max"
IsFilterable="False"
IsReadOnlyBinding="{Binding Converter={StaticResource RowToBoolCvt}, RelativeSource={RelativeSource AncestorType={x:Type telerik:GridViewRow}}, ConverterParameter=Max}" />
<telerik:GridViewDataColumn
DataMemberBinding="{Binding Unit}"
Header="单位"
IsFilterable="False"
IsReadOnlyBinding="{Binding Converter={StaticResource RowToBoolCvt}, RelativeSource={RelativeSource AncestorType={x:Type telerik:GridViewRow}}, ConverterParameter=单位}" />
<telerik:GridViewDataColumn
ColumnGroupName="Alarm"
DataMemberBinding="{Binding Alarm_LL}"
Header="L.L"
IsFilterable="False"
IsReadOnlyBinding="{Binding Converter={StaticResource RowToBoolCvt}, RelativeSource={RelativeSource AncestorType={x:Type telerik:GridViewRow}}, ConverterParameter=L.L}" />
<telerik:GridViewDataColumn
ColumnGroupName="Alarm"
DataMemberBinding="{Binding Alarm_L}"
Header="L"
IsFilterable="False"
IsReadOnlyBinding="{Binding Converter={StaticResource RowToBoolCvt}, RelativeSource={RelativeSource AncestorType={x:Type telerik:GridViewRow}}, ConverterParameter=L}" />
<telerik:GridViewDataColumn
ColumnGroupName="Alarm"
DataMemberBinding="{Binding Alarm_H}"
Header="H"
IsFilterable="False"
IsReadOnlyBinding="{Binding Converter={StaticResource RowToBoolCvt}, RelativeSource={RelativeSource AncestorType={x:Type telerik:GridViewRow}}, ConverterParameter=H}" />
<telerik:GridViewDataColumn
ColumnGroupName="Alarm"
DataMemberBinding="{Binding Alarm_HH}"
Header="H.H"
IsFilterable="False"
IsReadOnlyBinding="{Binding Converter={StaticResource RowToBoolCvt}, RelativeSource={RelativeSource AncestorType={x:Type telerik:GridViewRow}}, ConverterParameter=H.H}" />
<telerik:GridViewDataColumn
ColumnGroupName="SENSOR"
DataMemberBinding="{Binding SENSOR_CODE}"
Header="CODE"
IsFilterable="False"
IsReadOnlyBinding="{Binding Converter={StaticResource RowToBoolCvt}, RelativeSource={RelativeSource AncestorType={x:Type telerik:GridViewRow}}, ConverterParameter=CODE}" />
<telerik:GridViewDataColumn
DataMemberBinding="{Binding CommunicationPoint}"
Header="通讯"
IsFilterable="False"
IsReadOnlyBinding="{Binding Converter={StaticResource RowToBoolCvt}, RelativeSource={RelativeSource AncestorType={x:Type telerik:GridViewRow}}, ConverterParameter=通讯}" />
<telerik:GridViewDataColumn
DataMemberBinding="{Binding SeriousType}"
Header="SeriousType"
IsFilterable="False"
IsReadOnlyBinding="{Binding Converter={StaticResource RowToBoolCvt}, RelativeSource={RelativeSource AncestorType={x:Type telerik:GridViewRow}}, ConverterParameter=SeriousType}" />
<telerik:GridViewComboBoxColumn
ColumnGroupName="GRP."
DataMemberBinding="{Binding AL_GRP}"
Header="AL."
IsFilterable="False"
IsReadOnlyBinding="{Binding Converter={StaticResource RowToBoolCvt}, RelativeSource={RelativeSource AncestorType={x:Type telerik:GridViewRow}}, ConverterParameter=AL.}"
ItemsSource="{Binding DataContext.AL_GRPs, RelativeSource={RelativeSource AncestorType={x:Type telerik:RadTreeListView}}}" />
<telerik:GridViewComboBoxColumn
ColumnGroupName="GRP."
DataMemberBinding="{Binding BL_GRP}"
Header="BL."
IsFilterable="False"
IsReadOnlyBinding="{Binding Converter={StaticResource RowToBoolCvt}, RelativeSource={RelativeSource AncestorType={x:Type telerik:GridViewRow}}, ConverterParameter=BL.}"
ItemsSource="{Binding DataContext.BL_GRPs, RelativeSource={RelativeSource AncestorType={x:Type telerik:RadTreeListView}}}" />
<telerik:GridViewDataColumn
ColumnGroupName="AMS"
DataMemberBinding="{Binding Time_Delay}"
Header="TimeDelay"
IsFilterable="False"
IsReadOnlyBinding="{Binding Converter={StaticResource RowToBoolCvt}, RelativeSource={RelativeSource AncestorType={x:Type telerik:GridViewRow}}, ConverterParameter=TimeDelay}" />
<telerik:GridViewComboBoxColumn
DataMemberBinding="{Binding Supplier}"
DisplayMemberPath="DataItemName"
Header="供应商"
IsFilterable="False"
IsReadOnlyBinding="{Binding Converter={StaticResource RowToBoolCvt}, RelativeSource={RelativeSource AncestorType={x:Type telerik:GridViewRow}}, ConverterParameter=供应商}"
ItemsSource="{Binding DataContext.Suppliers, RelativeSource={RelativeSource AncestorType={x:Type telerik:RadTreeListView}}}"
SelectedValueMemberPath="DataItemName" />
<telerik:GridViewDataColumn
DataMemberBinding="{Binding EquipName}"
Header="设备名"
IsFilterable="False"
IsReadOnlyBinding="{Binding Converter={StaticResource RowToBoolCvt}, RelativeSource={RelativeSource AncestorType={x:Type telerik:GridViewRow}}, ConverterParameter=设备名}" />
<telerik:GridViewDataColumn
ColumnGroupName="VDR"
DataMemberBinding="{Binding VDR_Record}"
Header="Record"
IsFilterable="False"
IsReadOnlyBinding="{Binding Converter={StaticResource RowToBoolCvt}, RelativeSource={RelativeSource AncestorType={x:Type telerik:GridViewRow}}, ConverterParameter=Record}" />
<telerik:GridViewDataColumn
ColumnGroupName="W/H"
DataMemberBinding="{Binding WHConsole}"
Header="CONSOLE"
IsFilterable="False"
IsReadOnlyBinding="{Binding Converter={StaticResource RowToBoolCvt}, RelativeSource={RelativeSource AncestorType={x:Type telerik:GridViewRow}}, ConverterParameter=CONSOLE_W/H}" />
<telerik:GridViewComboBoxColumn
CellEditTemplate="{StaticResource CellEditTemplate1}"
CellTemplate="{StaticResource CellTemplate1}"
ColumnGroupName="W/H"
DataMemberBinding="{Binding WHCPUs}"
Header="CPU"
IsFilterable="False"
IsReadOnlyBinding="{Binding Converter={StaticResource RowToBoolCvt}, RelativeSource={RelativeSource AncestorType={x:Type telerik:GridViewRow}}, ConverterParameter=CPU_W/H}" />
<telerik:GridViewDataColumn
ColumnGroupName="ECR"
DataMemberBinding="{Binding ECRConsole}"
Header="CONSOLE"
IsFilterable="False"
IsReadOnlyBinding="{Binding Converter={StaticResource RowToBoolCvt}, RelativeSource={RelativeSource AncestorType={x:Type telerik:GridViewRow}}, ConverterParameter=CONSOLE_ECR}" />
<telerik:GridViewComboBoxColumn
CellEditTemplate="{StaticResource CellEditTemplate2}"
CellTemplate="{StaticResource CellTemplate2}"
ColumnGroupName="ECR"
DataMemberBinding="{Binding ECRCPU}"
Header="CPU"
IsFilterable="False"
IsReadOnlyBinding="{Binding Converter={StaticResource RowToBoolCvt}, RelativeSource={RelativeSource AncestorType={x:Type telerik:GridViewRow}}, ConverterParameter=CPU_ECR}"
ItemsSource="{Binding DataContext.ECRCPUs, RelativeSource={RelativeSource AncestorType={x:Type telerik:RadTreeListView}}}" />
<telerik:GridViewDataColumn
ColumnGroupName="SHIP OFFICE"
DataMemberBinding="{Binding ShipOfficeConsole}"
Header="CONSOLE"
IsFilterable="False"
IsReadOnlyBinding="{Binding Converter={StaticResource RowToBoolCvt}, RelativeSource={RelativeSource AncestorType={x:Type telerik:GridViewRow}}, ConverterParameter=CONSOLE_SHIPOFFICE}" />
<telerik:GridViewComboBoxColumn
CellEditTemplate="{StaticResource CellEditTemplate3}"
CellTemplate="{StaticResource CellTemplate3}"
ColumnGroupName="SHIP OFFICE"
DataMemberBinding="{Binding ShipOfficeCPU}"
Header="CPU"
IsFilterable="False"
IsReadOnlyBinding="{Binding Converter={StaticResource RowToBoolCvt}, RelativeSource={RelativeSource AncestorType={x:Type telerik:GridViewRow}}, ConverterParameter=CPU_SHIPOFFICE}"
ItemsSource="{Binding DataContext.ShipOfficeCPUs, RelativeSource={RelativeSource AncestorType={x:Type telerik:RadTreeListView}}}" />
<telerik:GridViewDataColumn
DataMemberBinding="{Binding SLD}"
Header="SLD"
IsFilterable="False"
IsReadOnlyBinding="{Binding Converter={StaticResource RowToBoolCvt}, RelativeSource={RelativeSource AncestorType={x:Type telerik:GridViewRow}}, ConverterParameter=SLD}" />
<telerik:GridViewDataColumn
DataMemberBinding="{Binding SHD}"
Header="SHD"
IsFilterable="False"
IsReadOnlyBinding="{Binding Converter={StaticResource RowToBoolCvt}, RelativeSource={RelativeSource AncestorType={x:Type telerik:GridViewRow}}, ConverterParameter=SHD}" />
<telerik:GridViewDataColumn
DataMemberBinding="{Binding SafetyDelay}"
Header="安保延迟"
IsFilterable="False"
IsReadOnlyBinding="{Binding Converter={StaticResource RowToBoolCvt}, RelativeSource={RelativeSource AncestorType={x:Type telerik:GridViewRow}}, ConverterParameter=安保延迟}" />
<telerik:GridViewDataColumn
DataMemberBinding="{Binding AutoCtrl}"
Header="自动控制"
IsFilterable="False"
IsReadOnlyBinding="{Binding Converter={StaticResource RowToBoolCvt}, RelativeSource={RelativeSource AncestorType={x:Type telerik:GridViewRow}}, ConverterParameter=自动控制}" />
<telerik:GridViewDataColumn
DataMemberBinding="{Binding AssociatedCableInfo}"
Header="关联的电缆信息"
IsFilterable="False"
IsReadOnlyBinding="{Binding Converter={StaticResource RowToBoolCvt}, RelativeSource={RelativeSource AncestorType={x:Type telerik:GridViewRow}}, ConverterParameter=关联的电缆信息}">
<telerik:GridViewDataColumn.CellStyle>
<Style TargetType="{x:Type telerik:GridViewCell}">
<Setter Property="Foreground" Value="#c0c0c0" />
<Setter Property="BorderBrush" Value="Transparent" />
<Setter Property="BorderThickness" Value="0" />
</Style>
</telerik:GridViewDataColumn.CellStyle>
</telerik:GridViewDataColumn>
<telerik:GridViewDataColumn
DataMemberBinding="{Binding AssociatedChannelInfo}"
Header="关联的通道信息"
IsFilterable="False"
IsReadOnlyBinding="{Binding Converter={StaticResource RowToBoolCvt}, RelativeSource={RelativeSource AncestorType={x:Type telerik:GridViewRow}}, ConverterParameter=关联的通道信息}">
<telerik:GridViewDataColumn.CellStyle>
<Style TargetType="{x:Type telerik:GridViewCell}">
<Setter Property="Foreground" Value="#c0c0c0" />
<Setter Property="BorderBrush" Value="Transparent" />
<Setter Property="BorderThickness" Value="0" />
</Style>
</telerik:GridViewDataColumn.CellStyle>
</telerik:GridViewDataColumn>
<telerik:GridViewDataColumn
DataMemberBinding="{Binding Remarks}"
Header="备注"
IsFilterable="False"
IsReadOnlyBinding="{Binding Converter={StaticResource RowToBoolCvt}, RelativeSource={RelativeSource AncestorType={x:Type telerik:GridViewRow}}, ConverterParameter=备注}" />
</telerik:RadTreeListView.Columns>
</telerik:RadTreeListView>
<StackPanel
Grid.Row="2"
Grid.Column="1"
Margin="5">
<telerik:RadButton
Width="100"
Margin="0,0,0,5"
HorizontalAlignment="Right"
Command="{Binding ButtonCmd}"
CommandParameter="新增信号"
Content="新增信号"
Style="{StaticResource sysBtn}" />
<telerik:RadButton
Width="100"
Margin="0,0,0,5"
HorizontalAlignment="Right"
Command="{Binding ButtonCmd}"
CommandParameter="新增虚拟点"
Content="新增虚拟点"
Style="{StaticResource sysBtn}" />
<telerik:RadButton
Width="100"
Margin="0,0,0,5"
HorizontalAlignment="Right"
Command="{Binding ButtonCmd}"
CommandParameter="信号转虚拟点">
<telerik:RadButton.Style>
<Style BasedOn="{StaticResource sysBtn}" TargetType="telerik:RadButton">
<!-- 默认文本 -->
<Setter Property="Content" Value="虚拟转信号" />
<Setter Property="IsEnabled" Value="False" />
<!-- 当选中项的Content为信号时 -->
<Style.Triggers>
<DataTrigger Binding="{Binding SelectedItem.type, ElementName=RadGridView1}" Value="信号">
<Setter Property="Content" Value="信号转虚拟点" />
<Setter Property="IsEnabled" Value="True" />
</DataTrigger>
<DataTrigger Binding="{Binding SelectedItem.type, ElementName=RadGridView1}" Value="虚拟点">
<Setter Property="Content" Value="虚拟点转信号" />
<Setter Property="IsEnabled" Value="True" />
</DataTrigger>
<DataTrigger Binding="{Binding Content, ElementName=myButton}" Value="显示全部">
<Setter Property="IsEnabled" Value="False" />
</DataTrigger>
<MultiDataTrigger>
<MultiDataTrigger.Conditions>
<Condition Binding="{Binding SelectedItem.type, ElementName=RadGridView1}" Value="信号" />
<Condition Binding="{Binding SelectedItem.IsExpandable, ElementName=RadGridView1}" Value="True" />
</MultiDataTrigger.Conditions>
<Setter Property="IsEnabled" Value="False" />
</MultiDataTrigger>
</Style.Triggers>
</Style>
</telerik:RadButton.Style>
</telerik:RadButton>
<telerik:RadButton
Width="100"
Margin="0,0,0,5"
HorizontalAlignment="Right"
Command="{Binding ButtonCmd}"
CommandParameter="删除"
Content="删除"
Style="{StaticResource sysBtn4}" />
<telerik:RadButton
Width="100"
Margin="0,0,0,5"
HorizontalAlignment="Right"
Command="{Binding ButtonCmd}"
CommandParameter="撤销删除"
Content="撤销删除"
Style="{StaticResource sysBtn2}" />
<telerik:RadButton
Width="100"
Margin="0,0,0,5"
HorizontalAlignment="Right"
Command="{Binding ButtonCmd}"
CommandParameter="彻底删除"
Content="彻底删除"
Style="{StaticResource sysBtn4}" />
<telerik:RadButton
Width="100"
Margin="0,0,0,5"
HorizontalAlignment="Right"
Command="{Binding ButtonCmd}"
CommandParameter="还原信号"
Content="还原信号">
<telerik:RadButton.Style>
<Style BasedOn="{StaticResource sysBtn2}" TargetType="telerik:RadButton">
<Setter Property="IsEnabled" Value="False" />
<Style.Triggers>
<DataTrigger Binding="{Binding Content, ElementName=myButton}" Value="显示全部">
<Setter Property="IsEnabled" Value="True" />
</DataTrigger>
</Style.Triggers>
</Style>
</telerik:RadButton.Style>
</telerik:RadButton>
<telerik:RadButton
Width="100"
Margin="0,20,0,5"
HorizontalAlignment="Right"
Command="{Binding ButtonCmd}"
CommandParameter="审核">
<telerik:RadButton.Style>
<Style BasedOn="{StaticResource sysBtn}" TargetType="telerik:RadButton">
<Setter Property="IsEnabled" Value="False" />
<Setter Property="Content" Value="审核" />
<Style.Triggers>
<DataTrigger Binding="{Binding SelectedItem.InOrOut, ElementName=RadGridView1}" Value="output">
<Setter Property="Content" Value="落实" />
</DataTrigger>
<DataTrigger Binding="{Binding ButtonContent}" Value="回收站">
<Setter Property="IsEnabled" Value="True" />
</DataTrigger>
</Style.Triggers>
</Style>
</telerik:RadButton.Style>
</telerik:RadButton>
<telerik:RadButton
Width="100"
Margin="0,0,0,5"
HorizontalAlignment="Right"
Command="{Binding ButtonCmd}"
CommandParameter="重新打开"
Content="重新打开"
Style="{StaticResource sysBtn2}" />
<telerik:RadButton
Width="100"
Margin="0,60,0,5"
HorizontalAlignment="Right"
Command="{Binding ButtonCmd}"
CommandParameter="关联通道"
Content="关联通道"
Style="{StaticResource sysBtn}"
Visibility="{Binding IsChannelButtonVisibility}" />
<telerik:RadButton
Width="100"
Margin="0,0,0,5"
HorizontalAlignment="Right"
Command="{Binding ButtonCmd}"
CommandParameter="关联母线"
Content="关联母线"
Style="{StaticResource sysBtn}"
Visibility="{Binding IsButtonVisibility}" />
<telerik:RadButton
Width="100"
Margin="0,0,0,5"
HorizontalAlignment="Right"
Command="{Binding ButtonCmd}"
CommandParameter="关联信号"
Content="关联信号">
<telerik:RadButton.Style>
<Style BasedOn="{StaticResource sysBtn}" TargetType="telerik:RadButton">
<Setter Property="IsEnabled" Value="False" />
<Style.Triggers>
<DataTrigger Binding="{Binding SelectedItem.InOrOut, ElementName=RadGridView1}" Value="output">
<Setter Property="IsEnabled" Value="True" />
</DataTrigger>
<DataTrigger Binding="{Binding Content, ElementName=myButton}" Value="显示全部">
<Setter Property="IsEnabled" Value="False" />
</DataTrigger>
</Style.Triggers>
</Style>
</telerik:RadButton.Style>
</telerik:RadButton>
<telerik:RadButton
Width="100"
Margin="0,0,0,5"
HorizontalAlignment="Right"
Command="{Binding ButtonCmd}"
CommandParameter="查关联信号"
Content="查关联信号">
<telerik:RadButton.Style>
<Style BasedOn="{StaticResource sysBtn2}" TargetType="telerik:RadButton">
<Setter Property="IsEnabled" Value="True" />
<Style.Triggers>
<DataTrigger Binding="{Binding SelectedItem.LinkedID, ElementName=RadGridView1}" Value="{x:Null}">
<Setter Property="IsEnabled" Value="False" />
</DataTrigger>
<!-- 检查空字符串 -->
<DataTrigger Binding="{Binding SelectedItem.LinkedID, ElementName=RadGridView1}" Value="">
<Setter Property="IsEnabled" Value="False" />
</DataTrigger>
<DataTrigger Binding="{Binding Content, ElementName=myButton}" Value="显示全部">
<Setter Property="IsEnabled" Value="False" />
</DataTrigger>
</Style.Triggers>
</Style>
</telerik:RadButton.Style>
</telerik:RadButton>
<telerik:RadButton
Width="100"
Margin="0,0,0,5"
HorizontalAlignment="Right"
Command="{Binding ButtonCmd}"
CommandParameter="输出点落实情况"
Content="输出点落实情况">
<telerik:RadButton.Style>
<Style BasedOn="{StaticResource sysBtn2}" TargetType="telerik:RadButton">
<Setter Property="IsEnabled" Value="True" />
<Style.Triggers>
<DataTrigger Binding="{Binding Content, ElementName=myButton}" Value="显示全部">
<Setter Property="IsEnabled" Value="False" />
</DataTrigger>
</Style.Triggers>
</Style>
</telerik:RadButton.Style>
</telerik:RadButton>
<GroupBox
Margin="5,90,5,5"
VerticalAlignment="Bottom"
Header="显示状态">
<StackPanel>
<telerik:RadButton
Width="80"
Margin="0,0,0,5"
HorizontalAlignment="Center"
Command="{Binding StatusButtonCmd}"
CommandParameter="ToDelete"
Content="待删除"
Foreground="#db9fa9"
Style="{StaticResource sysBtn2}" />
<telerik:RadButton
Width="80"
Margin="0,0,0,5"
HorizontalAlignment="Center"
Command="{Binding StatusButtonCmd}"
CommandParameter="New"
Content="新增"
Foreground="#fc7c2c"
Style="{StaticResource sysBtn2}" />
<telerik:RadButton
Width="80"
Margin="0,0,0,5"
HorizontalAlignment="Center"
Command="{Binding StatusButtonCmd}"
CommandParameter="Used"
Content="已关联"
Foreground="#49ac64"
Style="{StaticResource sysBtn2}" />
<telerik:RadButton
Width="80"
Margin="0,0,0,5"
HorizontalAlignment="Center"
Command="{Binding StatusButtonCmd}"
CommandParameter="Confirmed"
Content="已审核"
Foreground="#565656"
Style="{StaticResource sysBtn2}" />
<telerik:RadButton
Width="80"
Margin="0,0,0,5"
HorizontalAlignment="Center"
Command="{Binding StatusButtonCmd}"
CommandParameter="Reopen"
Content="重新打开"
Foreground="#1c3df5"
Style="{StaticResource sysBtn2}" />
<telerik:RadButton
Width="80"
Margin="0,0,0,5"
HorizontalAlignment="Center"
Command="{Binding StatusButtonCmd}"
CommandParameter="All"
Content="{Binding buttonText}"
Foreground="#232323"
Style="{StaticResource sysBtn2}" />
</StackPanel>
</GroupBox>
</StackPanel>
</Grid>
</Grid>
</telerik:RadBusyIndicator>
</UserControl>