Files
DP44/DataPRO/Modules/Groups/GroupChannelList/View/GroupChannelSettingsListView.xaml
2026-04-17 14:55:32 -04:00

914 lines
99 KiB
XML

<base:BaseView x:Class="GroupChannelList.GroupChannelSettingsListView"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:base="clr-namespace:DTS.Common.Base;assembly=DTS.Common"
xmlns:controls="clr-namespace:DTS.Common.Controls;assembly=DTS.Common"
xmlns:i="http://schemas.microsoft.com/xaml/behaviors"
xmlns:strings="clr-namespace:GroupChannelList"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
mc:Ignorable="d"
d:DesignHeight="300" d:DesignWidth="500"
xmlns:xctk="http://schemas.xceed.com/wpf/xaml/toolkit"
xmlns:converters="clr-namespace:GroupChannelList.Converters"
xmlns:converters1="clr-namespace:DTS.Common.Converters;assembly=DTS.Common"
xmlns:cc="clr-namespace:ChannelCodes.Model;assembly=ChannelCodes"
xmlns:behaviors="clr-namespace:DTS.Common.Behaviors;assembly=DTS.Common"
xmlns:sensors="clr-namespace:DTS.Common.Enums.Sensors;assembly=DTS.Common"
xmlns:system="clr-namespace:System;assembly=mscorlib"
xmlns:validators="clr-namespace:DTS.Common.Validators;assembly=DTS.Common"
xmlns:constants="clr-namespace:DTS.Common.Constant;assembly=DTS.Common"
x:Name="ChannelListView">
<base:BaseView.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="pack://application:,,,/DTS.Common;component/Themes/CommonStyles.xaml"/>
<ResourceDictionary Source="pack://application:,,,/DTS.Common;component/Controls/combobox.xaml"/>
<ResourceDictionary Source="pack://application:,,,/DTS.Common;component/Constant/XamlConstants.xaml"/>
</ResourceDictionary.MergedDictionaries>
<Style TargetType="RadioButton" BasedOn="{StaticResource FlatRadioButtonStyle}" >
<Setter Property="Height" Value="24" />
<Setter Property="Margin" Value="5" />
</Style>
<Style TargetType="ListView">
<Setter Property="ItemContainerStyle" Value="{StaticResource TTS_ListViewItemStyle}"/>
</Style>
<Style TargetType="TextBox" BasedOn="{StaticResource TTS_TextBoxStyle}"/>
<Style TargetType="TextBlock" BasedOn="{StaticResource TTS_TextBlockStyle}"/>
<Style TargetType="CheckBox" BasedOn="{StaticResource PageContentCheckBoxStyle}" />
<Style TargetType="ComboBox" BasedOn="{StaticResource TTS_ComboBoxStyle}">
<Setter Property="Height" Value="20"/>
</Style>
<Style TargetType="Button" BasedOn="{StaticResource TTS_ButtonStyle}"/>
<Style TargetType="GridViewColumnHeader" BasedOn="{StaticResource Gray_GridViewColumnHeaderStyle}"/>
<Style TargetType="{x:Type xctk:DoubleUpDown}" BasedOn="{StaticResource PageContentXCDoubleUpDown}" />
<converters:SensorIdBackgroundConverter x:Key="BackgroundConverter" />
<converters1:NumericStringFormatConverter x:Key="NumericStringFormatConverter" />
<!--<BooleanToVisibilityConverter x:Key="BoolToVisConverter"/>-->
<converters1:BooleanToVisibilityConverter x:Key="BoolToVisConverter" />
<converters1:InverseBooleanToVisibilityConverter x:Key="InverseBoolToVisConverter" />
<converters:BooleanToWidthConverter x:Key="BooleanToWidthConverter" />
<converters1:EnumVisibilityConverter x:Key="EnumVisibilityConverter" />
<converters1:InverseEnumVisibilityConverter x:Key="InverseEnumVisibilityConverter" />
<converters1:BooleanToBorderBrushConverter x:Key="BooleanToBorderBrushConverter" />
<converters1:InverseBooleanConverter x:Key="InverseBoolConverter" />
<system:String x:Key="CapacityFormat">{0:N2}</system:String>
<converters1:GreaterEqualThanToBoolConverter x:Key="GreaterThanConverter" />
<system:UInt16 x:Key="IntervalOnBound">1</system:UInt16>
<converters1:IntervalToVisibilityConverter x:Key="InterveralToVisConverter" />
<converters1:BooleanOrMultiConverter x:Key="BooleanOrMultiConverter" />
</ResourceDictionary>
</base:BaseView.Resources>
<Grid Background="{DynamicResource Brush_ApplicationContentBackground}">
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<WrapPanel Grid.Row="0" Orientation="Horizontal">
<RadioButton Content="{strings:TranslateExtension Parameters_Analog}" x:Name="rbParametersAnalog" Click="Analog_Click" />
<RadioButton Content="{strings:TranslateExtension Parameters_Squib}" x:Name="rbParametersSquib" Click="Squib_Click" />
<RadioButton Content="{strings:TranslateExtension Parameters_DigitalOut}" x:Name="rbParametersDigitalOut" Click="DigitalOut_Click" />
<RadioButton Content="{strings:TranslateExtension Parameters_DigitalIn}" x:Name="rbParametersDigitalIn" Click="DigitalIn_Click" />
<RadioButton Content="{strings:TranslateExtension Parameters_Uart}" x:Name="rbParametersUart" Click="Uart_Click" />
<RadioButton Content="{strings:TranslateExtension Parameters_StreamOut}" x:Name="rbParametersStreamOut" Click="StreamOut_Click" />
<RadioButton Content="{strings:TranslateExtension Parameters_StreamIn}" x:Name="rbParametersStreamIn" Click="StreamIn_Click" />
<RadioButton Content="{strings:TranslateExtension Parameters_CAN}" x:Name="rbParametersCAN" Click="CAN_Click" />
<StackPanel Orientation="Horizontal" Visibility="{Binding ElementName=ChannelListView, Path=GCAC_Visibility, Converter={StaticResource BoolToVisConverter}}" Margin="15,0,0,0">
<ToggleButton Content="{strings:TranslateExtension ModifyGlobalRangeCAC}" MinWidth="200"
x:Name="btnModifyGlobalRangeCAC" IsEnabled="{Binding ReadOnlyParametersMode, Converter={StaticResource InverseBoolConverter}}"/>
<StackPanel Margin="15,0,0,0" Orientation="Horizontal" Visibility="{Binding IsChecked,ElementName=btnModifyGlobalRangeCAC, Converter={StaticResource BoolToVisConverter}}">
<TextBlock Text="{strings:TranslateExtension GlobalRangeCAC}" />
<ComboBox SelectedItem="{Binding ElementName=ChannelListView, Path=SelectedGlobalRangeCACOption}" Grid.Column="1" MinWidth="300" HorizontalAlignment="Left"
HorizontalContentAlignment="Right" ItemsSource="{Binding ElementName=ChannelListView, Path=GlobalCACOptions}" x:Name="cbGlobalRangeCAC"
IsEnabled="{Binding ReadOnlyParametersMode, Converter={StaticResource InverseBoolConverter}}" AutomationProperties.AutomationId="cb_GlobalRangeCAC"
/>
<Button Content="{strings:TranslateExtension btnApplyGlobalRangeCAC}" x:Name="btnGlobalRangeApply" Click="btnGlobalRangeApply_Click"
IsEnabled="{Binding ReadOnlyParametersMode, Converter={StaticResource InverseBoolConverter}}"/>
</StackPanel>
</StackPanel>
</WrapPanel>
<!--<ScrollViewer Grid.Row="1" HorizontalScrollBarVisibility="Auto" VerticalScrollBarVisibility="Auto">-->
<ListView Grid.Row="1" ItemsSource="{Binding SettingChannels}" AutomationProperties.AutomationId="Parameters" VirtualizingStackPanel.IsVirtualizing="True"
x:Name="ChannelSettingsListListView" GridViewColumnHeader.Click="GridViewColumnHeader_Click" Loaded="ChannelSettingsListListView_OnLoaded">
<ListView.View><!-- -->
<controls:AutoSizedGridView AutomationProperties.AutomationId="CustomChannelsListGridView">
<GridViewColumn AutomationProperties.AutomationId="GroupOrderColumn" x:Name="GroupOrderColumn">
<controls:GridViewColumnHeaderSearchable Tag="Order" HeaderTitle="{strings:TranslateExtension Order}" Search="GridViewColumnHeaderSearchable_OnSearch" ListviewId="{Binding ListViewId}" ClickHandler="GridViewColumnHeader_Click"/>
<GridViewColumn.CellTemplate>
<ItemContainerTemplate>
<TextBlock Text="{Binding GroupChannelOrder,FallbackValue='-1',StringFormat={}000}" VerticalAlignment="Center" AutomationProperties.AutomationId="ChannelOrderTextBlock"
IsEnabled="{Binding DataContext.ReadOnlyParametersMode, Converter={StaticResource InverseBoolConverter}, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type ListView}}}" />
</ItemContainerTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<GridViewColumn AutomationProperties.AutomationId="TestSetupOrderColumn" x:Name="TestSetupOrderColumn">
<controls:GridViewColumnHeaderSearchable Tag="Order" HeaderTitle="{strings:TranslateExtension Order}" Search="GridViewColumnHeaderSearchable_OnSearch" ListviewId="{Binding ListViewId}" ClickHandler="GridViewColumnHeader_Click"/>
<GridViewColumn.CellTemplate>
<ItemContainerTemplate>
<TextBlock Text="{Binding TestSetupOrder,FallbackValue='-1',StringFormat={}000}" VerticalAlignment="Center" AutomationProperties.AutomationId="ChannelOrderTextBlock"
IsEnabled="{Binding DataContext.ReadOnlyParametersMode, Converter={StaticResource InverseBoolConverter}, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type ListView}}}" />
</ItemContainerTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<GridViewColumn AutomationProperties.AutomationId="GroupColumn" x:Name="GroupColumn">
<controls:GridViewColumnHeaderSearchable Tag="GroupName" HeaderTitle="{strings:TranslateExtension Group}" Search="GridViewColumnHeaderSearchable_OnSearch" ListviewId="{Binding ListViewId}" ClickHandler="GridViewColumnHeader_Click"/>
<GridViewColumn.CellTemplate>
<ItemContainerTemplate>
<TextBlock AutomationProperties.AutomationId="GroupNameTextBlock" MinWidth="200" Tag="GroupName" Text="{Binding GroupName}"
IsEnabled="{Binding DataContext.ReadOnlyParametersMode, Converter={StaticResource InverseBoolConverter}, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type ListView}}}" />
</ItemContainerTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<GridViewColumn AutomationProperties.AutomationId="UserCodeColumn" x:Name="UserCodeColumn" Width="{Binding ShowUserCodes, Converter={StaticResource BooleanToWidthConverter}}">
<controls:GridViewColumnHeaderSearchable Tag="UserCode" HeaderTitle="{strings:TranslateExtension UserCode}" Search="GridViewColumnHeaderSearchable_OnSearch" ListviewId="{Binding ListViewId}" ClickHandler="GridViewColumnHeader_Click"/>
<GridViewColumn.CellTemplate>
<ItemContainerTemplate>
<TextBlock MinWidth="200" AutomationProperties.AutomationId="UserCodeTextBlock" Tag="UserCode" Text="{Binding UserCode}"
IsEnabled="{Binding DataContext.ReadOnlyParametersMode, Converter={StaticResource InverseBoolConverter}, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type ListView}}}" />
</ItemContainerTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<GridViewColumn AutomationProperties.AutomationId="UserChannelNameColumn" x:Name="UserChannelNameColumn"
Width="{Binding ShowUserCodes, Converter={StaticResource BooleanToWidthConverter}}">
<controls:GridViewColumnHeaderSearchable Tag="UserChannelName" HeaderTitle="{strings:TranslateExtension UserChannelName}" Search="GridViewColumnHeaderSearchable_OnSearch" ListviewId="{Binding ListViewId}" ClickHandler="GridViewColumnHeader_Click"/>
<GridViewColumn.CellTemplate>
<ItemContainerTemplate>
<TextBlock Text="{Binding UserChannelName}" AutomationProperties.AutomationId="UserChannelNameTextBlock" MinWidth="200" Tag="UserChannelName"
IsEnabled="{Binding DataContext.ReadOnlyParametersMode, Converter={StaticResource InverseBoolConverter}, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type ListView}}}" />
</ItemContainerTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<GridViewColumn AutomationProperties.AutomationId="ChannelNameColumn" x:Name="ChannelNameColumn"
Width="{Binding ChannelNamesOnly, Converter={StaticResource BooleanToWidthConverter}}">
<controls:GridViewColumnHeaderSearchable Tag="UserChannelName" HeaderTitle="{strings:TranslateExtension ChannelName}" Search="GridViewColumnHeaderSearchable_OnSearch" ListviewId="{Binding ListViewId}" ClickHandler="GridViewColumnHeader_Click"/>
<GridViewColumn.CellTemplate>
<ItemContainerTemplate>
<TextBlock Text="{Binding UserChannelName}" AutomationProperties.AutomationId="ChannelNameTextBlock" MinWidth="200" Tag="UserChannelName"
IsEnabled="{Binding DataContext.ReadOnlyParametersMode, Converter={StaticResource InverseBoolConverter}, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type ListView}}}" />
</ItemContainerTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<GridViewColumn AutomationProperties.AutomationId="ISOCodeColumn" x:Name="ISOCodeColumn"
Width="{Binding ShowISOCodes, Converter={StaticResource BooleanToWidthConverter}}">
<controls:GridViewColumnHeaderSearchable Tag="ISOCode" HeaderTitle="{strings:TranslateExtension ISOCode}" Search="GridViewColumnHeaderSearchable_OnSearch" ListviewId="{Binding ListViewId}" ClickHandler="GridViewColumnHeader_Click"/>
<GridViewColumn.CellTemplate>
<ItemContainerTemplate>
<TextBlock Text="{Binding IsoCode}" MinWidth="200" AutomationProperties.AutomationId="ISOCodeTextBlock" Tag="ISOCode"
IsEnabled="{Binding DataContext.ReadOnlyParametersMode, Converter={StaticResource InverseBoolConverter}, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type ListView}}}" />
</ItemContainerTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<GridViewColumn AutomationProperties.AutomationId="ISOChannelNameColumn" x:Name="ISOChannelNameColumn"
Width="{Binding ShowISOCodes, Converter={StaticResource BooleanToWidthConverter}}">
<controls:GridViewColumnHeaderSearchable Tag="ISOChannelName" HeaderTitle="{strings:TranslateExtension ISOChannelName}" Search="GridViewColumnHeaderSearchable_OnSearch" ListviewId="{Binding ListViewId}" ClickHandler="GridViewColumnHeader_Click"/>
<GridViewColumn.CellTemplate>
<ItemContainerTemplate>
<TextBlock Text="{Binding IsoChannelName}" AutomationProperties.AutomationId="ISOChannelNameTextBlock" MinWidth="200" Tag="ISOChannelName"
IsEnabled="{Binding DataContext.ReadOnlyParametersMode, Converter={StaticResource InverseBoolConverter}, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type ListView}}}" />
</ItemContainerTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<GridViewColumn AutomationProperties.AutomationId="SensorColumn" >
<controls:GridViewColumnHeaderSearchable Tag="Sensor" HeaderTitle="{strings:TranslateExtension Sensor}" Search="GridViewColumnHeaderSearchable_OnSearch" ListviewId="{Binding ListViewId}" ClickHandler="GridViewColumnHeader_Click"/>
<GridViewColumn.CellTemplate>
<ItemContainerTemplate>
<Grid IsEnabled="{Binding DataContext.ReadOnlyParametersMode, Converter={StaticResource InverseBoolConverter}, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type ListView}}}" >
<Label Visibility="{Binding EmbeddedSensor, Converter={StaticResource InverseBoolToVisConverter}}">
<Hyperlink Click="Hyperlink_Click" IsEnabled="{Binding EmbeddedSensor, Converter={StaticResource InverseBoolConverter}}">
<TextBlock Text="{Binding Sensor}" AutomationProperties.AutomationId="SensorTextBlock" />
</Hyperlink>
</Label>
<TextBlock Text="{Binding Sensor}" AutomationProperties.AutomationId="SensorTextBlock" Visibility="{Binding EmbeddedSensor, Converter={StaticResource BoolToVisConverter}}"/>
</Grid>
</ItemContainerTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<GridViewColumn AutomationProperties.AutomationId="RangeColumn" x:Name="AnalogRangeColumn" >
<controls:GridViewColumnHeaderSearchable Tag="Range" HeaderTitle="{strings:TranslateExtension AnalogParameters_Range}" Search="GridViewColumnHeaderSearchable_OnSearch" ListviewId="{Binding ListViewId}" ClickHandler="GridViewColumnHeader_Click"/>
<GridViewColumn.CellTemplate>
<ItemContainerTemplate>
<Grid IsEnabled="{Binding DataContext.ReadOnlyParametersMode, Converter={StaticResource InverseBoolConverter}, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type ListView}}}" >
<TextBlock Text="{strings:TranslateExtension Table_NA}" VerticalAlignment="Center"
Visibility="{Binding NonRangeModifiableSensor, Converter={StaticResource BoolToVisConverter}}" />
<xctk:DoubleUpDown AutomationProperties.AutomationId="AnalogParameters_Range" Minimum=".1" FormatString="N2" Value="{Binding Range}"
Visibility="{Binding EmbeddedSensor, Converter={StaticResource InverseBoolToVisConverter}}"
BorderThickness="2.0" BorderBrush="{Binding IsRangeDifferent, Converter={StaticResource BooleanToBorderBrushConverter}}"/>
<ComboBox AutomationProperties.AutomationId="AnalogParameters_RangeLowG" HorizontalAlignment="Left"
ItemsSource="{Binding ElementName=ChannelListView, Path=AvailableRangesLowG}" SelectedItem="{Binding RangeLowG}"
Visibility="{Binding RangeModifiableSensorLowG, Converter={StaticResource BoolToVisConverter}}"
BorderThickness="2.0" BorderBrush="{Binding IsRangeDifferent, Converter={StaticResource BooleanToBorderBrushConverter}}"
LostFocus="RangeLowG_LostFocus"
/>
<ComboBox AutomationProperties.AutomationId="AnalogParameters_RangeARS" HorizontalAlignment="Left"
ItemsSource="{Binding ElementName=ChannelListView, Path=AvailableRangesARS}" SelectedItem="{Binding Range}"
Visibility="{Binding RangeModifiableSensorARS, Converter={StaticResource BoolToVisConverter}}"
BorderThickness="2.0" BorderBrush="{Binding IsRangeDifferent, Converter={StaticResource BooleanToBorderBrushConverter}}"
LostFocus="RangeARS_LostFocus"/>
<xctk:DoubleUpDown AutomationProperties.AutomationId="AnalogParameters_RangeVoltageInsert" Minimum=".1" FormatString="N2" Value="{Binding Range}"
Visibility="{Binding VoltageInsertionSensor, Converter={StaticResource BoolToVisConverter}}"
BorderThickness="2.0" BorderBrush="{Binding IsRangeDifferent, Converter={StaticResource BooleanToBorderBrushConverter}}"/>
</Grid>
</ItemContainerTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<GridViewColumn AutomationProperties.AutomationId="CapacityColumn" x:Name="AnalogCapacityColumn">
<controls:GridViewColumnHeaderSearchable Tag="Capacity" HeaderTitle="{strings:TranslateExtension AnalogParameters_Capacity}" Search="GridViewColumnHeaderSearchable_OnSearch" ListviewId="{Binding ListViewId}" ClickHandler="GridViewColumnHeader_Click"/>
<GridViewColumn.CellTemplate>
<ItemContainerTemplate>
<Grid IsEnabled="{Binding DataContext.ReadOnlyParametersMode, Converter={StaticResource InverseBoolConverter}, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type ListView}}}" >
<TextBlock Text="{Binding EmbeddedCapacityDisplay}" VerticalAlignment="Center"
Visibility="{Binding EmbeddedSensor, Converter={StaticResource BoolToVisConverter}}" />
<TextBlock AutomationProperties.AutomationId="AnalogParameters_Capacity" Visibility="{Binding EmbeddedSensor, Converter={StaticResource InverseBoolToVisConverter}}">
<TextBlock.Text>
<MultiBinding Converter="{StaticResource NumericStringFormatConverter}" FallbackValue="'Capacity'">
<Binding Path="Capacity" />
<Binding Path="DataContext.CapacityFormat" RelativeSource="{RelativeSource FindAncestor, AncestorType={x:Type ListView}}"/>
</MultiBinding>
</TextBlock.Text>
</TextBlock>
</Grid>
</ItemContainerTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<GridViewColumn AutomationProperties.AutomationId="SensitivityColumn" x:Name="AnalogSensitivityColumn">
<controls:GridViewColumnHeaderSearchable Tag="Sensitivity" HeaderTitle="{strings:TranslateExtension AnalogParameters_Sensitivity}" Search="GridViewColumnHeaderSearchable_OnSearch" ListviewId="{Binding ListViewId}" ClickHandler="GridViewColumnHeader_Click"/>
<GridViewColumn.CellTemplate>
<ItemContainerTemplate>
<TextBlock AutomationProperties.AutomationId="AnalogParameters _Sensitivity" Text="{Binding Sensitivity}"
IsEnabled="{Binding DataContext.ReadOnlyParametersMode, Converter={StaticResource InverseBoolConverter}, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type ListView}}}" />
</ItemContainerTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<GridViewColumn AutomationProperties.AutomationId="UnitsColumn" x:Name="AnalogUnitsColumn">
<controls:GridViewColumnHeaderSearchable Tag="Units" HeaderTitle="{strings:TranslateExtension AnalogParameters_Units}" Search="GridViewColumnHeaderSearchable_OnSearch" ListviewId="{Binding ListViewId}" ClickHandler="GridViewColumnHeader_Click"/>
<GridViewColumn.CellTemplate>
<ItemContainerTemplate>
<TextBlock AutomationProperties.AutomationId="AnalogParameters_Units" Text="{Binding Units}"
IsEnabled="{Binding DataContext.ReadOnlyParametersMode, Converter={StaticResource InverseBoolConverter}, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type ListView}}}" />
</ItemContainerTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<GridViewColumn AutomationProperties.AutomationId="CFCColumn" x:Name="AnalogCFCColumn">
<controls:GridViewColumnHeaderSearchable Tag="FilterClass" HeaderTitle="{strings:TranslateExtension AnalogParameters_CFC}" Search="GridViewColumnHeaderSearchable_OnSearch" ListviewId="{Binding ListViewId}" ClickHandler="GridViewColumnHeader_Click"/>
<GridViewColumn.CellTemplate>
<ItemContainerTemplate>
<ComboBox AutomationProperties.AutomationId="AnalogParameters_CFC" DisplayMemberPath="FilterName" ItemsSource="{Binding ElementName=ChannelListView, Path=AvailableCFC}"
HorizontalAlignment="Left" SelectedItem="{Binding FilterClass}" MinWidth="125"
BorderThickness="2.0" BorderBrush="{Binding IsFilterClassDifferent, Converter={StaticResource BooleanToBorderBrushConverter}}"
IsEnabled="{Binding DataContext.ReadOnlyParametersMode, Converter={StaticResource InverseBoolConverter}, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type ListView}}}" />
</ItemContainerTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<GridViewColumn AutomationProperties.AutomationId="PolarityColumn" x:Name="AnalogPolarityColumn">
<controls:GridViewColumnHeaderSearchable Tag="Polarity" HeaderTitle="{strings:TranslateExtension AnalogParameters_Polarity}" Search="GridViewColumnHeaderSearchable_OnSearch" ListviewId="{Binding ListViewId}" ClickHandler="GridViewColumnHeader_Click"/>
<GridViewColumn.CellTemplate>
<ItemContainerTemplate>
<ComboBox AutomationProperties.AutomationId="AnalogParameters_Polarity" HorizontalAlignment="Left"
ItemsSource="{Binding ElementName=ChannelListView, Path=AvailablePolarity}" SelectedItem="{Binding Polarity}"
BorderThickness="2.0" BorderBrush="{Binding IsPolarityDifferent, Converter={StaticResource BooleanToBorderBrushConverter}}"
IsEnabled="{Binding DataContext.ReadOnlyParametersMode, Converter={StaticResource InverseBoolConverter}, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type ListView}}}" />
<!--BorderBrush="{Binding PolarityBorderBrushColor}" BorderThickness="2.0"/>-->
</ItemContainerTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<GridViewColumn AutomationProperties.AutomationId="ZeroMethodColumn" x:Name="AnalogZeroMethodColumn">
<controls:GridViewColumnHeaderSearchable Tag="ZeroMethod" HeaderTitle="{strings:TranslateExtension AnalogParameters_ZeroMethod}" Search="GridViewColumnHeaderSearchable_OnSearch" ListviewId="{Binding ListViewId}" ClickHandler="GridViewColumnHeader_Click"/>
<GridViewColumn.CellTemplate>
<ItemContainerTemplate>
<Grid IsEnabled="{Binding DataContext.ReadOnlyParametersMode, Converter={StaticResource InverseBoolConverter}, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type ListView}}}" >
<!--FB16269 Show user setting but lock it rather than hide it if NonLinear-->
<ComboBox AutomationProperties.AutomationId="AnalogParameters_ZeroMethod" HorizontalAlignment="Left" MinWidth="125"
ItemsSource="{Binding ElementName=ChannelListView, Path=AvailableZeroMethodEmbeddedSensor}" SelectedItem="{Binding ZeroMethod}"
IsEnabled="{Binding NonLinear, Converter={StaticResource InverseBoolConverter}}"
Visibility="{Binding EmbeddedSensor, Converter={StaticResource BoolToVisConverter}}"
BorderThickness="2.0" BorderBrush="{Binding IsZeroMethodDifferent, Converter={StaticResource BooleanToBorderBrushConverter}}"/>
<ComboBox AutomationProperties.AutomationId="AnalogParameters_ZeroMethod" HorizontalAlignment="Left" MinWidth="125"
ItemsSource="{Binding ElementName=ChannelListView, Path=AvailableZeroMethod}" SelectedItem="{Binding ZeroMethod}"
IsEnabled="{Binding NonLinearAndNotPolynomial, Converter={StaticResource InverseBoolConverter}}"
Visibility="{Binding EmbeddedSensor, Converter={StaticResource InverseBoolToVisConverter}}"
BorderThickness="2.0" BorderBrush="{Binding IsZeroMethodDifferent, Converter={StaticResource BooleanToBorderBrushConverter}}"/>
</Grid>
</ItemContainerTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<GridViewColumn AutomationProperties.AutomationId="ZeroMethodColumn" x:Name="AnalogZeroMethodStartColumn">
<controls:GridViewColumnHeaderSearchable Tag="ZeroMethodStart" HeaderTitle="{strings:TranslateExtension AnalogParameters_ZeroMethodStart}" Search="GridViewColumnHeaderSearchable_OnSearch" ListviewId="{Binding ListViewId}" ClickHandler="GridViewColumnHeader_Click"/>
<GridViewColumn.CellTemplate>
<ItemContainerTemplate>
<Grid IsEnabled="{Binding DataContext.ReadOnlyParametersMode, Converter={StaticResource InverseBoolConverter}, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type ListView}}}" >
<TextBlock Text="{strings:TranslateExtension Not_Applicable}" VerticalAlignment="Center"
Visibility="{Binding ZeroMethod, Converter={StaticResource InverseEnumVisibilityConverter}, ConverterParameter={x:Static sensors:ZeroMethodType.AverageOverTime}}" />
<xctk:DoubleUpDown AutomationProperties.AutomationId="AnalogParameters_ZeroMethodStart"
FormatString="F5" Value="{Binding ZeroMethodStart}" Visibility="{Binding ZeroMethod,
Converter={StaticResource EnumVisibilityConverter}, ConverterParameter={x:Static sensors:ZeroMethodType.AverageOverTime}}"
BorderThickness="2.0" BorderBrush="{Binding IsZeroMethodStartDifferent, Converter={StaticResource BooleanToBorderBrushConverter}}"/>
</Grid>
</ItemContainerTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<GridViewColumn AutomationProperties.AutomationId="ZeroMethodColumn" x:Name="AnalogZeroMethodEndColumn">
<controls:GridViewColumnHeaderSearchable Tag="ZeroMethodEnd" HeaderTitle="{strings:TranslateExtension AnalogParameters_ZeroMethodEnd}" Search="GridViewColumnHeaderSearchable_OnSearch" ListviewId="{Binding ListViewId}" ClickHandler="GridViewColumnHeader_Click"/>
<GridViewColumn.CellTemplate>
<ItemContainerTemplate>
<Grid IsEnabled="{Binding DataContext.ReadOnlyParametersMode, Converter={StaticResource InverseBoolConverter}, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type ListView}}}" >
<TextBlock Text="{strings:TranslateExtension Not_Applicable}" VerticalAlignment="Center"
Visibility="{Binding ZeroMethod, Converter={StaticResource InverseEnumVisibilityConverter}, ConverterParameter={x:Static sensors:ZeroMethodType.AverageOverTime}}" />
<xctk:DoubleUpDown AutomationProperties.AutomationId="AnalogParameters_ZeroMethodEnd"
FormatString="F5" Value="{Binding ZeroMethodEnd}" Visibility="{Binding ZeroMethod,
Converter={StaticResource EnumVisibilityConverter}, ConverterParameter={x:Static sensors:ZeroMethodType.AverageOverTime}}"
BorderThickness="2.0" BorderBrush="{Binding IsZeroMethodEndDifferent, Converter={StaticResource BooleanToBorderBrushConverter}}"/>
</Grid>
</ItemContainerTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<GridViewColumn AutomationProperties.AutomationId="UserValue1Column" x:Name="AnalogUserValue1Column" >
<controls:GridViewColumnHeaderSearchable Tag="UserValue1" HeaderTitle="{strings:TranslateExtension AnalogParameters_UserValue1}" Search="GridViewColumnHeaderSearchable_OnSearch" ListviewId="{Binding ListViewId}" ClickHandler="GridViewColumnHeader_Click"/>
<GridViewColumn.CellTemplate>
<ItemContainerTemplate>
<TextBox AutomationProperties.AutomationId="AnalogParameters_UserValue1" Width="90" MaxWidth="90" MinWidth="90" Text="{Binding UserValue1}"
IsEnabled="{Binding DataContext.ReadOnlyParametersMode, Converter={StaticResource InverseBoolConverter}, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type ListView}}}" />
</ItemContainerTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<GridViewColumn AutomationProperties.AutomationId="UserValue2Column" x:Name="AnalogUserValue2Column" >
<controls:GridViewColumnHeaderSearchable Tag="UserValue2" HeaderTitle="{strings:TranslateExtension AnalogParameters_UserValue2}" Search="GridViewColumnHeaderSearchable_OnSearch" ListviewId="{Binding ListViewId}" ClickHandler="GridViewColumnHeader_Click"/>
<GridViewColumn.CellTemplate>
<ItemContainerTemplate>
<TextBox AutomationProperties.AutomationId="AnalogParameters_UserValue2" Width="90" MaxWidth="90" MinWidth="90" Text="{Binding UserValue2}"
IsEnabled="{Binding DataContext.ReadOnlyParametersMode, Converter={StaticResource InverseBoolConverter}, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type ListView}}}" />
</ItemContainerTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<GridViewColumn AutomationProperties.AutomationId="UserValue3Column" x:Name="AnalogUserValue3Column" >
<controls:GridViewColumnHeaderSearchable Tag="UserValue3" HeaderTitle="{strings:TranslateExtension AnalogParameters_UserValue3}" Search="GridViewColumnHeaderSearchable_OnSearch" ListviewId="{Binding ListViewId}" ClickHandler="GridViewColumnHeader_Click"/>
<GridViewColumn.CellTemplate>
<ItemContainerTemplate>
<TextBox AutomationProperties.AutomationId="AnalogParameters_UserValue3" Width="90" MaxWidth="90" MinWidth="90" Text="{Binding UserValue3}"
IsEnabled="{Binding DataContext.ReadOnlyParametersMode, Converter={StaticResource InverseBoolConverter}, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type ListView}}}" />
</ItemContainerTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<GridViewColumn AutomationProperties.AutomationId="InitialOffsetColumn" x:Name="AnalogInitialOffsetColumn" >
<controls:GridViewColumnHeaderSearchable Tag="InitialOffset" HeaderTitle="{strings:TranslateExtension AnalogParameters_InitialOffset}" Search="GridViewColumnHeaderSearchable_OnSearch" ListviewId="{Binding ListViewId}" ClickHandler="GridViewColumnHeader_Click"/>
<GridViewColumn.CellTemplate>
<ItemContainerTemplate>
<Grid IsEnabled="{Binding DataContext.ReadOnlyParametersMode, Converter={StaticResource InverseBoolConverter}, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type ListView}}}" >
<TextBlock Text="{strings:TranslateExtension Table_NA}" VerticalAlignment="Center"
Visibility="{Binding EmbeddedSensor, Converter={StaticResource BoolToVisConverter}}" />
<ComboBox AutomationProperties.AutomationId="AnalogParameters_InitialOffset" Width="90" MaxWidth="90" MinWidth="90"
ItemsSource="{Binding AvailableInitialOffsets}" SelectedItem="{Binding InitialOffset}"
Visibility="{Binding EmbeddedSensor, Converter={StaticResource InverseBoolToVisConverter}}"
BorderThickness="2.0" BorderBrush="{Binding IsInitialOffsetDifferent, Converter={StaticResource BooleanToBorderBrushConverter}}"/>
</Grid>
</ItemContainerTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<!-- http://manuscript.dts.local/f/cases/29760/Implement-ACCoupleEnable-for-TSR-AIR -->
<GridViewColumn AutomationProperties.AutomationId="ACCouplingEnable" x:Name="AnalogACCouplingEnableColumn"
Header="{strings:Translate AnalogParameter_ACCouplingEnable}">
<GridViewColumn.CellTemplate>
<ItemContainerTemplate>
<CheckBox AutomationProperties.AutomationId="AnalogParameters_ACCouplingEnable"
IsChecked="{Binding ACCouplingEnabled}" Click="ACCouplingEnable_Click"
Visibility="{Binding IsTSRAIRLowG, Converter={StaticResource BoolToVisConverter}}" >
<CheckBox.IsEnabled>
<MultiBinding Converter="{StaticResource BooleanOrMultiConverter}">
<Binding Path="ViewDbVersion" ElementName="ChannelListView" Converter="{StaticResource GreaterThanConverter}" ConverterParameter="{StaticResource MIN_DB_VERSION_AC_COUPLING}" />
<Binding Path="DataContext.ReadOnlyParametersMode" Converter="{StaticResource InverseBoolConverter}" RelativeSource="{RelativeSource FindAncestor, AncestorType={x:Type ListView}}" />
</MultiBinding>
</CheckBox.IsEnabled>
</CheckBox>
</ItemContainerTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<GridViewColumn AutomationProperties.AutomationId="InputModeColumn" x:Name="DigitalInInputModeColumn">
<controls:GridViewColumnHeaderSearchable Tag="InputMode" HeaderTitle="{strings:TranslateExtension DigitalInParameters_InputMode}" Search="GridViewColumnHeaderSearchable_OnSearch" ListviewId="{Binding ListViewId}" ClickHandler="GridViewColumnHeader_Click"/>
<GridViewColumn.CellTemplate>
<ItemContainerTemplate>
<ComboBox AutomationProperties.AutomationId="DigitalInParameters_InputMode" HorizontalAlignment="Left" Width="180"
ItemsSource="{Binding ElementName=ChannelListView, Path=AvailableDigitalInputModes}" SelectedItem="{Binding DigitalInputMode}"
BorderThickness="2.0" BorderBrush="{Binding IsDigitalInputModeDifferent, Converter={StaticResource BooleanToBorderBrushConverter}}"
IsEnabled="{Binding DataContext.ReadOnlyParametersMode, Converter={StaticResource InverseBoolConverter}, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type ListView}}}" />
</ItemContainerTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<GridViewColumn AutomationProperties.AutomationId="DefaultValueColumn" x:Name="DigitalInDefaultValueColumn">
<controls:GridViewColumnHeaderSearchable Tag="DefaultValue" HeaderTitle="{strings:TranslateExtension DigitalInParameters_DefaultValue}" Search="GridViewColumnHeaderSearchable_OnSearch" ListviewId="{Binding ListViewId}" ClickHandler="GridViewColumnHeader_Click"/>
<GridViewColumn.CellTemplate>
<ItemContainerTemplate>
<TextBox Text="{Binding DefaultValue, Mode=TwoWay}" AutomationProperties.AutomationId="DigitialInParameters_DefaultValue"
BorderThickness="2.0" BorderBrush="{Binding IsDefaultValueDifferent, Converter={StaticResource BooleanToBorderBrushConverter}}"
IsEnabled="{Binding DataContext.ReadOnlyParametersMode, Converter={StaticResource InverseBoolConverter}, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type ListView}}}" />
</ItemContainerTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<GridViewColumn AutomationProperties.AutomationId="ActiveValueColumn" x:Name="DigitalInActiveValueColumn">
<controls:GridViewColumnHeaderSearchable Tag="ActiveValue" HeaderTitle="{strings:TranslateExtension DigitalInParameters_ActiveValue}" Search="GridViewColumnHeaderSearchable_OnSearch" ListviewId="{Binding ListViewId}" ClickHandler="GridViewColumnHeader_Click"/>
<GridViewColumn.CellTemplate>
<ItemContainerTemplate>
<TextBox Text="{Binding ActiveValue, Mode=TwoWay}" AutomationProperties.AutomationId="DigitalInParameters_ActiveValue"
BorderThickness="2.0" BorderBrush="{Binding IsActiveValueDifferent, Converter={StaticResource BooleanToBorderBrushConverter}}"
IsEnabled="{Binding DataContext.ReadOnlyParametersMode, Converter={StaticResource InverseBoolConverter}, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type ListView}}}" />
</ItemContainerTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<GridViewColumn AutomationProperties.AutomationId="OutputModeColumn" x:Name="DigitalOutOutputModeColumn">
<controls:GridViewColumnHeaderSearchable Tag="OutputMode" HeaderTitle="{strings:TranslateExtension DigitalOutParameters_OutputMode}" Search="GridViewColumnHeaderSearchable_OnSearch" ListviewId="{Binding ListViewId}" ClickHandler="GridViewColumnHeader_Click"/>
<GridViewColumn.CellTemplate>
<ItemContainerTemplate>
<ComboBox HorizontalAlignment="Left" ItemsSource="{Binding ElementName=ChannelListView, Path=AvailableDigitalOutputModes}"
SelectedItem="{Binding DigitalOutputMode}" Width="180" AutomationProperties.AutomationId="DigitalOutParameters_OutputMode"
BorderThickness="2.0" BorderBrush="{Binding IsDigitalOutputModeDifferent, Converter={StaticResource BooleanToBorderBrushConverter}}"
IsEnabled="{Binding DataContext.ReadOnlyParametersMode, Converter={StaticResource InverseBoolConverter}, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type ListView}}}" />
</ItemContainerTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<GridViewColumn AutomationProperties.AutomationId="OutputDelayColumn" x:Name="DigitalOutDelayColumn">
<controls:GridViewColumnHeaderSearchable Tag="OutputDelay" HeaderTitle="{strings:TranslateExtension DigitalOutParameters_Delay}" Search="GridViewColumnHeaderSearchable_OnSearch" ListviewId="{Binding ListViewId}" ClickHandler="GridViewColumnHeader_Click"/>
<GridViewColumn.CellTemplate>
<ItemContainerTemplate>
<xctk:DoubleUpDown Value="{Binding DigitalOutDelay}" FormatString="N2" AutomationProperties.AutomationId="DigitalOutParameters_Delay"
Minimum="{StaticResource DIGITALOUT_DELAY_MIN}" Increment=".1"
BorderThickness="2.0" BorderBrush="{Binding IsDigitalOutDelayDifferent, Converter={StaticResource BooleanToBorderBrushConverter}}"
IsEnabled="{Binding DataContext.ReadOnlyParametersMode, Converter={StaticResource InverseBoolConverter}, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type ListView}}}" />
</ItemContainerTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<GridViewColumn AutomationProperties.AutomationId="OutputLimitDurationColumn" x:Name="DigitalOutLimitDurationColumn">
<controls:GridViewColumnHeaderSearchable Tag="OutputLimitDuration" HeaderTitle="{strings:TranslateExtension DigitalOutParameters_LimitDuration}" Search="GridViewColumnHeaderSearchable_OnSearch" ListviewId="{Binding ListViewId}" ClickHandler="GridViewColumnHeader_Click"/>
<GridViewColumn.CellTemplate>
<ItemContainerTemplate>
<CheckBox IsChecked="{Binding DigitalOutLimitDuration}" AutomationProperties.AutomationId="DigitalOutParameters_LimitDuration"
BorderThickness="2.0" BorderBrush="{Binding IsDigitalOutLimitDurationDifferent, Converter={StaticResource BooleanToBorderBrushConverter}}"
IsEnabled="{Binding DataContext.ReadOnlyParametersMode, Converter={StaticResource InverseBoolConverter}, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type ListView}}}" />
</ItemContainerTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<GridViewColumn AutomationProperties.AutomationId="OutputDurationColumn" x:Name="DigitalOutDurationColumn">
<controls:GridViewColumnHeaderSearchable Tag="OutputDuration" HeaderTitle="{strings:TranslateExtension DigitalOutParameters_Duration}" Search="GridViewColumnHeaderSearchable_OnSearch" ListviewId="{Binding ListViewId}" ClickHandler="GridViewColumnHeader_Click"/>
<GridViewColumn.CellTemplate>
<ItemContainerTemplate>
<xctk:DoubleUpDown Value="{Binding DigitalOutDuration}" FormatString="N1" AutomationProperties.AutomationId="DigitalOutParameters_Duration"
Visibility="{Binding DigitalOutLimitDuration, Converter={StaticResource BoolToVisConverter}}" Increment=".1" Maximum="{Binding DigitalOutDurationMax}"
BorderThickness="2.0" BorderBrush="{Binding IsDigitalOutDurationDifferent, Converter={StaticResource BooleanToBorderBrushConverter}}"
IsEnabled="{Binding DataContext.ReadOnlyParametersMode, Converter={StaticResource InverseBoolConverter}, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type ListView}}}" />
</ItemContainerTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<GridViewColumn AutomationProperties.AutomationId="SquibFireModeColumn" x:Name="SquibFireModeColumn">
<controls:GridViewColumnHeaderSearchable Tag="SquibFireMode" HeaderTitle="{strings:TranslateExtension SquibParameters_FireMode}" Search="GridViewColumnHeaderSearchable_OnSearch" ListviewId="{Binding ListViewId}" ClickHandler="GridViewColumnHeader_Click"/>
<GridViewColumn.CellTemplate>
<ItemContainerTemplate>
<ComboBox AutomationProperties.AutomationId="SquibParameters_FireMode" HorizontalAlignment="Left" Width="150"
ItemsSource="{Binding ElementName=ChannelListView,Path=AvailableSquibFireModes}" SelectedItem="{Binding SquibFireMode}"
BorderThickness="2.0" BorderBrush="{Binding IsSquibFireModeDifferent, Converter={StaticResource BooleanToBorderBrushConverter}}"
IsEnabled="{Binding DataContext.ReadOnlyParametersMode, Converter={StaticResource InverseBoolConverter}, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type ListView}}}" />
</ItemContainerTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<GridViewColumn AutomationProperties.AutomationId="SquibDelayColumn" x:Name="SquibDelayColumn">
<controls:GridViewColumnHeaderSearchable Tag="SquibDelay" HeaderTitle="{strings:TranslateExtension SquibParameters_Delay}" Search="GridViewColumnHeaderSearchable_OnSearch" ListviewId="{Binding ListViewId}" ClickHandler="GridViewColumnHeader_Click"/>
<GridViewColumn.CellTemplate>
<ItemContainerTemplate>
<xctk:DoubleUpDown Value="{Binding SquibDelay}" FormatString="N2" AutomationProperties.AutomationId="SquibParameters_Delay" Width="100" Increment=".1"
Minimum="{StaticResource SQUIB_DELAY_MIN}" Maximum="{StaticResource SQUIB_DELAY_MAX}" Watermark="{strings:TranslateExtension EnterValue}"
BorderThickness="2.0" BorderBrush="{Binding IsSquibDelayDifferent, Converter={StaticResource BooleanToBorderBrushConverter}}"
IsEnabled="{Binding DataContext.ReadOnlyParametersMode, Converter={StaticResource InverseBoolConverter}, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type ListView}}}" />
</ItemContainerTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<GridViewColumn AutomationProperties.AutomationId="SquibLimitDurationColumn" x:Name="SquibLimitDurationColumn">
<controls:GridViewColumnHeaderSearchable Tag="SquibLimitDuration" HeaderTitle="{strings:TranslateExtension SquibParameters_LimitDuration}" Search="GridViewColumnHeaderSearchable_OnSearch" ListviewId="{Binding ListViewId}" ClickHandler="GridViewColumnHeader_Click"/>
<GridViewColumn.CellTemplate>
<ItemContainerTemplate>
<CheckBox IsChecked="{Binding SquibLimitDuration}" AutomationProperties.AutomationId="SquibParameters_LimitDuration"
BorderThickness="2.0" BorderBrush="{Binding IsSquibLimitDurationDifferent, Converter={StaticResource BooleanToBorderBrushConverter}}"
IsEnabled="{Binding DataContext.ReadOnlyParametersMode, Converter={StaticResource InverseBoolConverter}, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type ListView}}}" />
</ItemContainerTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<GridViewColumn AutomationProperties.AutomationId="SquibDurationColumn" x:Name="SquibDurationColumn">
<controls:GridViewColumnHeaderSearchable Tag="SquibDuration" HeaderTitle="{strings:TranslateExtension SquibParameters_Duration}" Search="GridViewColumnHeaderSearchable_OnSearch" ListviewId="{Binding ListViewId}" ClickHandler="GridViewColumnHeader_Click"/>
<GridViewColumn.CellTemplate>
<ItemContainerTemplate>
<xctk:DoubleUpDown Value="{Binding SquibDuration}" FormatString="N1" AutomationProperties.AutomationId="SquibParameters_Duration"
Minimum="{StaticResource SQUIB_DURATION_MIN}" Maximum="{StaticResource SQUIB_DURATION_MAX}"
Visibility="{Binding SquibLimitDuration, Converter={StaticResource BoolToVisConverter}}" Increment=".1"
BorderThickness="2.0" BorderBrush="{Binding IsSquibDurationDifferent, Converter={StaticResource BooleanToBorderBrushConverter}}"
IsEnabled="{Binding DataContext.ReadOnlyParametersMode, Converter={StaticResource InverseBoolConverter}, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type ListView}}}" />
</ItemContainerTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<GridViewColumn AutomationProperties.AutomationId="SquibCurrentColumn" x:Name="SquibCurrentColumn">
<controls:GridViewColumnHeaderSearchable Tag="SquibCurrent" HeaderTitle="{strings:TranslateExtension SquibParameters_Current}" Search="GridViewColumnHeaderSearchable_OnSearch" ListviewId="{Binding ListViewId}" ClickHandler="GridViewColumnHeader_Click"/>
<GridViewColumn.CellTemplate>
<ItemContainerTemplate>
<xctk:DoubleUpDown Value="{Binding SquibCurrent}" FormatString="N2" AutomationProperties.AutomationId="SquibParameters_Current"
Minimum="{StaticResource SQUIB_CURRENT_LOW}" Maximum="{StaticResource SQUIB_CURRENT_HIGH}"
Visibility="{Binding IsConstantCurrent, Converter={StaticResource BoolToVisConverter}}" Increment=".1"
BorderThickness="2.0" BorderBrush="{Binding IsSquibCurrentDifferent, Converter={StaticResource BooleanToBorderBrushConverter}}"
IsEnabled="{Binding DataContext.ReadOnlyParametersMode, Converter={StaticResource InverseBoolConverter}, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type ListView}}}" />
</ItemContainerTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<GridViewColumn AutomationProperties.AutomationId="UartBaudRateColumn" x:Name="UartBaudRateColumn">
<controls:GridViewColumnHeaderSearchable Tag="UartBaudRate" HeaderTitle="{strings:TranslateExtension UartParameters_BaudRate}" Search="GridViewColumnHeaderSearchable_OnSearch" ListviewId="{Binding ListViewId}" ClickHandler="GridViewColumnHeader_Click"/>
<GridViewColumn.CellTemplate>
<ItemContainerTemplate>
<ComboBox ItemsSource="{x:Static constants:EmbeddedSensors.BAUD_RATES}" BorderThickness="2.0" BorderBrush="{Binding IsUartBaudRateDifferent, Converter={StaticResource BooleanToBorderBrushConverter}}"
IsEnabled="{Binding DataContext.ReadOnlyParametersMode, Converter={StaticResource InverseBoolConverter}, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type ListView}}}"
IsEditable="True">
<ComboBox.Text>
<Binding Path="UartBaudRate" UpdateSourceTrigger="PropertyChanged" ValidatesOnDataErrors="True" ValidatesOnNotifyDataErrors="True" ValidatesOnExceptions="True">
<Binding.ValidationRules>
<validators:UARTBAUDRateValidator />
</Binding.ValidationRules>
</Binding>
</ComboBox.Text>
</ComboBox>
</ItemContainerTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<GridViewColumn AutomationProperties.AutomationId="UartDataBitsColumn" x:Name="UartDataBitsColumn">
<controls:GridViewColumnHeaderSearchable Tag="UartDataBits" HeaderTitle="{strings:TranslateExtension UartParameters_DataBits}" Search="GridViewColumnHeaderSearchable_OnSearch" ListviewId="{Binding ListViewId}" ClickHandler="GridViewColumnHeader_Click"/>
<GridViewColumn.CellTemplate>
<ItemContainerTemplate>
<xctk:DoubleUpDown Value="{Binding UartDataBits}" FormatString="N0" AutomationProperties.AutomationId="UartParameters_DataBits"
ClipValueToMinMax="True" Increment="1" Minimum="{StaticResource UART_DATA_BITS_MIN}" Maximum="{StaticResource UART_DATA_BITS_MAX}"
BorderThickness="2.0" BorderBrush="{Binding IsUartDataBitsDifferent, Converter={StaticResource BooleanToBorderBrushConverter}}"
IsEnabled="{Binding DataContext.ReadOnlyParametersMode, Converter={StaticResource InverseBoolConverter}, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type ListView}}}" />
</ItemContainerTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<GridViewColumn AutomationProperties.AutomationId="UartStopBitsColumn" x:Name="UartStopBitsColumn">
<controls:GridViewColumnHeaderSearchable Tag="UartStopBits" HeaderTitle="{strings:TranslateExtension UartParameters_StopBits}" Search="GridViewColumnHeaderSearchable_OnSearch" ListviewId="{Binding ListViewId}" ClickHandler="GridViewColumnHeader_Click"/>
<GridViewColumn.CellTemplate>
<ItemContainerTemplate>
<ComboBox AutomationProperties.AutomationId="UartParameters_StopBits" HorizontalAlignment="Left" Width="150"
ItemsSource="{Binding ElementName=ChannelListView,Path=AvailableUartStopBits}" SelectedItem="{Binding UartStopBits}"
BorderThickness="2.0" BorderBrush="{Binding IsUartStopBitsDifferent, Converter={StaticResource BooleanToBorderBrushConverter}}"
IsEnabled="{Binding DataContext.ReadOnlyParametersMode, Converter={StaticResource InverseBoolConverter}, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type ListView}}}" />
</ItemContainerTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<GridViewColumn AutomationProperties.AutomationId="UartParityColumn" x:Name="UartParityColumn">
<controls:GridViewColumnHeaderSearchable Tag="UartParity" HeaderTitle="{strings:TranslateExtension UartParameters_Parity}" Search="GridViewColumnHeaderSearchable_OnSearch" ListviewId="{Binding ListViewId}" ClickHandler="GridViewColumnHeader_Click"/>
<GridViewColumn.CellTemplate>
<ItemContainerTemplate>
<ComboBox AutomationProperties.AutomationId="UartParameters_Parity" HorizontalAlignment="Left" Width="150"
ItemsSource="{Binding ElementName=ChannelListView,Path=AvailableUartParities}" SelectedItem="{Binding UartParity}"
BorderThickness="2.0" BorderBrush="{Binding IsUartParityDifferent, Converter={StaticResource BooleanToBorderBrushConverter}}"
IsEnabled="{Binding DataContext.ReadOnlyParametersMode, Converter={StaticResource InverseBoolConverter}, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type ListView}}}" />
</ItemContainerTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<!--FB 30486 Remove option from UI-->
<GridViewColumn AutomationProperties.AutomationId="UartDataFormatColumn" x:Name="UartDataFormatColumn">
<controls:GridViewColumnHeaderSearchable Tag="UartDataFormat" HeaderTitle="{strings:TranslateExtension UartParameters_DataFormat}" Search="GridViewColumnHeaderSearchable_OnSearch" ListviewId="{Binding ListViewId}" ClickHandler="GridViewColumnHeader_Click"/>
<GridViewColumn.CellTemplate>
<ItemContainerTemplate>
<ComboBox AutomationProperties.AutomationId="UartParameters_DataFormat" HorizontalAlignment="Left" Width="150"
ItemsSource="{Binding ElementName=ChannelListView,Path=AvailableUartDataFormats}" SelectedItem="{Binding UartDataFormat}"
BorderThickness="2.0" BorderBrush="{Binding IsUartDataFormatDifferent, Converter={StaticResource BooleanToBorderBrushConverter}}"
IsEnabled="{Binding DataContext.ReadOnlyParametersMode, Converter={StaticResource InverseBoolConverter}, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type ListView}}}" />
</ItemContainerTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<GridViewColumn AutomationProperties.AutomationId="StreamInUDPAddressColumn" x:Name="StreamInUDPAddressColumn">
<controls:GridViewColumnHeaderSearchable Tag="StreamInUDPAddress" HeaderTitle="{strings:TranslateExtension StreamInParameters_UDPAddress}" Search="GridViewColumnHeaderSearchable_OnSearch" ListviewId="{Binding ListViewId}" ClickHandler="GridViewColumnHeader_Click"/>
<GridViewColumn.CellTemplate>
<ItemContainerTemplate>
<TextBox Text="{Binding StreamInUDPAddress, Mode=TwoWay}" AutomationProperties.AutomationId="StreamInParameters_UDPAddress"
BorderThickness="2.0" BorderBrush="{Binding IsStreamInUDPAddressDifferent, Converter={StaticResource BooleanToBorderBrushConverter}}"
IsEnabled="{Binding DataContext.ReadOnlyParametersMode, Converter={StaticResource InverseBoolConverter}, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type ListView}}}" />
</ItemContainerTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<GridViewColumn AutomationProperties.AutomationId="StreamOutUDPProfileColumn" x:Name="StreamOutUDPProfileColumn">
<controls:GridViewColumnHeaderSearchable Tag="StreamOutUDPProfile" HeaderTitle="{strings:TranslateExtension StreamOutParameters_StreamProfile}" Search="GridViewColumnHeaderSearchable_OnSearch" ListviewId="{Binding ListViewId}" ClickHandler="GridViewColumnHeader_Click"/>
<GridViewColumn.CellTemplate>
<ItemContainerTemplate>
<ComboBox AutomationProperties.AutomationId="StreamOutParameters_StreamProfile" HorizontalAlignment="Left" MinWidth="180" Width="Auto"
ItemsSource="{Binding ElementName=ChannelListView,Path=AvailableStreamOutUDPProfiles}" SelectedItem="{Binding StreamOutUDPProfile}"
BorderThickness="2.0" BorderBrush="{Binding IsStreamOutUDPProfileDifferent, Converter={StaticResource BooleanToBorderBrushConverter}}"
IsEnabled="{Binding DataContext.ReadOnlyParametersMode, Converter={StaticResource InverseBoolConverter}, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type ListView}}}" />
</ItemContainerTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<GridViewColumn AutomationProperties.AutomationId="StreamOutUDPAddressColumn" x:Name="StreamOutUDPAddressColumn">
<controls:GridViewColumnHeaderSearchable Tag="StreamOutUDPAddress" HeaderTitle="{strings:TranslateExtension StreamOutParameters_UDPAddress}" Search="GridViewColumnHeaderSearchable_OnSearch" ListviewId="{Binding ListViewId}" ClickHandler="GridViewColumnHeader_Click"/>
<GridViewColumn.CellTemplate>
<ItemContainerTemplate>
<StackPanel IsEnabled="{Binding DataContext.ReadOnlyParametersMode, Converter={StaticResource InverseBoolConverter}, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type ListView}}}" >
<TextBox Text="{Binding StreamOutUDPAddress, Mode=TwoWay}" AutomationProperties.AutomationId="StreamOutParameters_UDPAddress"
BorderThickness="2.0" BorderBrush="{Binding IsStreamOutUDPAddressDifferent, Converter={StaticResource BooleanToBorderBrushConverter}}"
Visibility="{Binding IsUARTStream, Converter={StaticResource InverseBoolToVisConverter}}"/>
<TextBlock Text="{strings:TranslateExtension Table_NA}" Visibility="{Binding IsUARTStream, Converter={StaticResource BoolToVisConverter}}"/>
</StackPanel>
</ItemContainerTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<GridViewColumn AutomationProperties.AutomationId="StreamOutUDPTimeChannelIdColumn" x:Name="StreamOutUDPTimeChannelIdColumn">
<controls:GridViewColumnHeaderSearchable Tag="StreamOutUDPTimeChannelId" HeaderTitle="{strings:TranslateExtension StreamOutParameters_TimeChannelId}" Search="GridViewColumnHeaderSearchable_OnSearch" ListviewId="{Binding ListViewId}" ClickHandler="GridViewColumnHeader_Click"/>
<GridViewColumn.CellTemplate>
<ItemContainerTemplate>
<StackPanel IsEnabled="{Binding DataContext.ReadOnlyParametersMode, Converter={StaticResource InverseBoolConverter}, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type ListView}}}" >
<xctk:DoubleUpDown Value="{Binding StreamOutUDPTimeChannelId}" FormatString="N0" AutomationProperties.AutomationId="StreamOutParameters_TimeChannelId"
ClipValueToMinMax="True" Increment="1" Minimum="{StaticResource STREAMOUT_TIMECHANNELID_MIN}" Maximum="{StaticResource STREAMOUT_TIMECHANNELID_MAX}"
BorderThickness="2.0" BorderBrush="{Binding IsStreamOutUDPTimeChannelIdDifferent, Converter={StaticResource BooleanToBorderBrushConverter}}"
Visibility="{Binding IsCH10, Converter={StaticResource BoolToVisConverter}}"/>
<TextBlock Text="{strings:TranslateExtension Table_NA}" Visibility="{Binding IsCH10, Converter={StaticResource InverseBoolToVisConverter}}"/>
</StackPanel>
</ItemContainerTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<GridViewColumn AutomationProperties.AutomationId="StreamOutUDPDataChannelIdColumn" x:Name="StreamOutUDPDataChannelIdColumn">
<controls:GridViewColumnHeaderSearchable Tag="StreamOutUDPDataChannelId" HeaderTitle="{strings:TranslateExtension StreamOutParameters_DataChannelId}" Search="GridViewColumnHeaderSearchable_OnSearch" ListviewId="{Binding ListViewId}" ClickHandler="GridViewColumnHeader_Click"/>
<GridViewColumn.CellTemplate>
<ItemContainerTemplate>
<StackPanel IsEnabled="{Binding DataContext.ReadOnlyParametersMode, Converter={StaticResource InverseBoolConverter}, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type ListView}}}" >
<xctk:DoubleUpDown Value="{Binding StreamOutUDPDataChannelId}" FormatString="N0" AutomationProperties.AutomationId="StreamOutParameters_DataChannelId"
ClipValueToMinMax="True" Increment="1" Minimum="{StaticResource STREAMOUT_DATACHANNELID_MIN}" Maximum="{StaticResource STREAMOUT_DATACHANNELID_MAX}"
BorderThickness="2.0" BorderBrush="{Binding IsStreamOutUDPDataChannelIdDifferent, Converter={StaticResource BooleanToBorderBrushConverter}}">
<xctk:DoubleUpDown.Visibility>
<MultiBinding Converter="{StaticResource BooleanOrToVisibilityMultiConverter}">
<Binding Path="IsCH10" />
<Binding Path="IsUARTStream" />
</MultiBinding>
</xctk:DoubleUpDown.Visibility>
</xctk:DoubleUpDown>
<TextBlock Text="{strings:TranslateExtension Table_NA}">
<TextBlock.Visibility>
<MultiBinding Converter="{StaticResource BooleanOrToVisibilityMultiConverter}" ConverterParameter="False">
<Binding Path="IsCH10" />
<Binding Path="IsUARTStream" />
</MultiBinding>
</TextBlock.Visibility>
</TextBlock>
</StackPanel>
</ItemContainerTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<GridViewColumn AutomationProperties.AutomationId="StreamOutIRIGTimeDataPacketIntervalMsColumn" x:Name="StreamOutIRIGTimeDataPacketIntervalMsColumn">
<controls:GridViewColumnHeaderSearchable Tag="StreamOutIRIGTimeDataPacketIntervalMs" HeaderTitle="{strings:TranslateExtension StreamOutParameters_IRIGTimeDataPacketIntervalMs}" Search="GridViewColumnHeaderSearchable_OnSearch" ListviewId="{Binding ListViewId}" ClickHandler="GridViewColumnHeader_Click"/>
<GridViewColumn.CellTemplate>
<ItemContainerTemplate>
<StackPanel IsEnabled="{Binding DataContext.ReadOnlyParametersMode, Converter={StaticResource InverseBoolConverter}, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type ListView}}}" >
<StackPanel Orientation="Horizontal" Visibility="{Binding IsCH10, Converter={StaticResource BoolToVisConverter}}">
<CheckBox Content="{strings:TranslateExtension IntervalOn}" IsChecked="{Binding StreamOutIRIGTimeDataPacketIntervalMs, Converter={StaticResource GreaterThanConverter}, ConverterParameter={StaticResource IntervalOnBound}, Mode=OneWay}"
Click="TimePacketIntervalOn_Click"
/>
<xctk:DoubleUpDown Value="{Binding StreamOutIRIGTimeDataPacketIntervalMs}" FormatString="N0" AutomationProperties.AutomationId="StreamOutParameters_DataChannelId"
ClipValueToMinMax="True" Increment="1" Minimum="{StaticResource STREAMOUT_IRIG_TDP_MIN}" Maximum="{StaticResource STREAMOUT_IRIG_TDP_MAX}"
BorderThickness="2.0" BorderBrush="{Binding IsStreamOutIRIGTimeDataPacketIntervalMsDifferent, Converter={StaticResource BooleanToBorderBrushConverter}}"
Visibility="{Binding StreamOutIRIGTimeDataPacketIntervalMs, Converter={StaticResource InterveralToVisConverter}, ConverterParameter={StaticResource IntervalOnBound}}"
/>
</StackPanel>
<TextBlock Text="{strings:TranslateExtension Table_NA}" Visibility="{Binding IsCH10, Converter={StaticResource InverseBoolToVisConverter}}"/>
</StackPanel>
</ItemContainerTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<GridViewColumn AutomationProperties.AutomationId="StreamOutTMATSIntervalMsColumn" x:Name="StreamOutTMATSIntervalMsColumn">
<controls:GridViewColumnHeaderSearchable Tag="StreamOutTMATSIntervalMs" HeaderTitle="{strings:TranslateExtension StreamOutParameters_TMATSIntervalMs}" Search="GridViewColumnHeaderSearchable_OnSearch" ListviewId="{Binding ListViewId}" ClickHandler="GridViewColumnHeader_Click"/>
<GridViewColumn.CellTemplate>
<ItemContainerTemplate>
<StackPanel IsEnabled="{Binding DataContext.ReadOnlyParametersMode, Converter={StaticResource InverseBoolConverter}, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type ListView}}}" >
<StackPanel Orientation="Horizontal" Visibility="{Binding IsIENA, Converter={StaticResource InverseBoolToVisConverter}}"
IsEnabled="{Binding ElementName=ChannelListView, Path=DbVersion, Converter={StaticResource GreaterThanConverter}, ConverterParameter={StaticResource TMATSIntervalDbVesion}}">
<CheckBox Content="{strings:TranslateExtension IntervalOn}" IsChecked="{Binding StreamOutTMATSIntervalMs, Converter={StaticResource GreaterThanConverter},ConverterParameter={StaticResource IntervalOnBound},Mode=OneWay}"
Click="TMATSIntervalON_Click"
/>
<xctk:DoubleUpDown Value="{Binding StreamOutTMATSIntervalMs}" FormatString="N0" AutomationProperties.AutomationId="StreamOutParameters_TMATSIntervalMs"
ClipValueToMinMax="True" Increment="1" Minimum="{StaticResource STREAMOUT_TMAT_INTERVAL_MIN}" Maximum="{StaticResource STREAMOUT_TMAT_INTERVAL_MAX}"
BorderThickness="2.0" BorderBrush="{Binding IsStreamOutTMATSIntervalMsDifferent, Converter={StaticResource BooleanToBorderBrushConverter}}"
Visibility="{Binding StreamOutTMATSIntervalMs, Converter={StaticResource InterveralToVisConverter}, ConverterParameter={StaticResource IntervalOnBound}}"
/>
</StackPanel>
<TextBlock Text="{strings:TranslateExtension Table_NA}" Visibility="{Binding IsIENA, Converter={StaticResource BoolToVisConverter}}"/>
</StackPanel>
</ItemContainerTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<!-- TMNS Columns -->
<GridViewColumn AutomationProperties.AutomationId="StreamOutSubFrameIDColumn" x:Name="StreamOutSubFrameIDColumn">
<controls:GridViewColumnHeaderSearchable Tag="StreamOutSubFrameIdColumn" HeaderTitle="{strings:TranslateExtension StreamOutParameters_TMNS_SubFrameId}" Search="GridViewColumnHeaderSearchable_OnSearch" ListviewId="{Binding ListViewId}" ClickHandler="GridViewColumnHeader_Click"/>
<GridViewColumn.CellTemplate>
<ItemContainerTemplate>
<StackPanel IsEnabled="{Binding DataContext.ReadOnlyParametersMode, Converter={StaticResource InverseBoolConverter}, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type ListView}}}" >
<xctk:DoubleUpDown Value="{Binding TMNS_SubFrameId}" FormatString="N0" AutomationProperties.AutomationId="StreamOutParameters_TMNS_SubFrameId"
ClipValueToMinMax="True" Increment="1" Minimum="0" Maximum="65535"
BorderThickness="2.0" Visibility="{Binding IsTMNS,Converter={StaticResource BoolToVisConverter}}"/>
<TextBlock Text="{strings:TranslateExtension Table_NA}" Visibility="{Binding IsTMNS, Converter={StaticResource InverseBoolToVisConverter}}"/>
</StackPanel>
</ItemContainerTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<GridViewColumn AutomationProperties.AutomationId="StreamOutMessageIDColumn" x:Name="StreamOutMessageIDColumn">
<controls:GridViewColumnHeaderSearchable Tag="StreamOutMessageIdColumn" HeaderTitle="{strings:TranslateExtension StreamOutParameters_TMNS_MessageId}" Search="GridViewColumnHeaderSearchable_OnSearch" ListviewId="{Binding ListViewId}" ClickHandler="GridViewColumnHeader_Click"/>
<GridViewColumn.CellTemplate>
<ItemContainerTemplate>
<StackPanel IsEnabled="{Binding DataContext.ReadOnlyParametersMode, Converter={StaticResource InverseBoolConverter}, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type ListView}}}" >
<xctk:DoubleUpDown Value="{Binding TMNS_MsgId}" FormatString="N0" AutomationProperties.AutomationId="StreamOutParameters_TMNS_MessageId"
ClipValueToMinMax="True" Increment="1" Minimum="0" Maximum="65535"
BorderThickness="2.0" Visibility="{Binding IsTMNS, Converter={StaticResource BoolToVisConverter}}"/>
<TextBlock Text="{strings:TranslateExtension Table_NA}" Visibility="{Binding IsTMNS, Converter={StaticResource InverseBoolToVisConverter}}"/>
</StackPanel>
</ItemContainerTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<GridViewColumn AutomationProperties.AutomationId="StreamOutMinorPerMajorColumn" x:Name="StreamOutMinorPerMajorColumn">
<controls:GridViewColumnHeaderSearchable Tag="StreamOutMinorPerMajorColumn" HeaderTitle="{strings:TranslateExtension StreamOutParameters_TMNS_MinorPerMajor}" Search="GridViewColumnHeaderSearchable_OnSearch" ListviewId="{Binding ListViewId}" ClickHandler="GridViewColumnHeader_Click"/>
<GridViewColumn.CellTemplate>
<ItemContainerTemplate>
<StackPanel IsEnabled="{Binding DataContext.ReadOnlyParametersMode, Converter={StaticResource InverseBoolConverter}, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type ListView}}}" >
<xctk:DoubleUpDown Value="{Binding TMNS_MinorPerMajor}" FormatString="N0" AutomationProperties.AutomationId="StreamOutParameters_TMNS_MinorPerMajor"
ClipValueToMinMax="True" Increment="1" Minimum="0" Maximum="65535"
BorderThickness="2.0" Visibility="{Binding IsTMNS, Converter={StaticResource BoolToVisConverter}}"/>
<TextBlock Text="{strings:TranslateExtension Table_NA}" Visibility="{Binding IsTMNS, Converter={StaticResource InverseBoolToVisConverter}}"/>
</StackPanel>
</ItemContainerTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<GridViewColumn AutomationProperties.AutomationId="StreamOutTMATSPortColumn" x:Name="StreamOutTMATSPortColumn">
<controls:GridViewColumnHeaderSearchable Tag="StreamOutTMATSPortColumn" HeaderTitle="{strings:TranslateExtension StreamOutParameters_TMNS_TMATSPort}" Search="GridViewColumnHeaderSearchable_OnSearch" ListviewId="{Binding ListViewId}" ClickHandler="GridViewColumnHeader_Click"/>
<GridViewColumn.CellTemplate>
<ItemContainerTemplate>
<StackPanel IsEnabled="{Binding DataContext.ReadOnlyParametersMode, Converter={StaticResource InverseBoolConverter}, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type ListView}}}" >
<xctk:DoubleUpDown Value="{Binding TMNS_TMATSPort}" FormatString="N0" AutomationProperties.AutomationId="StreamOutParameters_TMNS_TMATSPort"
ClipValueToMinMax="True" Increment="1" Minimum="0" Maximum="65535"
BorderThickness="2.0" Visibility="{Binding IsTMNS, Converter={StaticResource BoolToVisConverter}}"/>
<TextBlock Text="{strings:TranslateExtension Table_NA}" Visibility="{Binding IsTMNS, Converter={StaticResource InverseBoolToVisConverter}}"/>
</StackPanel>
</ItemContainerTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<!-- IENA columns -->
<GridViewColumn AutomationProperties.AutomationId="StreamOutIENASourcePortColumn" x:Name="StreamOutIENASourcePortColumn">
<controls:GridViewColumnHeaderSearchable Tag="StreamOutIENASourcePortColumn" HeaderTitle="{strings:TranslateExtension StreamOutParameters_IENA_SourcePort}" Search="GridViewColumnHeaderSearchable_OnSearch" ListviewId="{Binding ListViewId}" ClickHandler="GridViewColumnHeader_Click"/>
<GridViewColumn.CellTemplate>
<ItemContainerTemplate>
<StackPanel IsEnabled="{Binding DataContext.ReadOnlyParametersMode, Converter={StaticResource InverseBoolConverter}, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type ListView}}}" >
<xctk:DoubleUpDown Value="{Binding IENA_SourcePort}" FormatString="N0" AutomationProperties.AutomationId="StreamOutParameters_IENA_SourcePort"
ClipValueToMinMax="True" Increment="1" Minimum="0" Maximum="65535"
BorderThickness="2.0" Visibility="{Binding IsIENA, Converter={StaticResource BoolToVisConverter}}"/>
<TextBlock Text="{strings:TranslateExtension Table_NA}" Visibility="{Binding IsIENA, Converter={StaticResource InverseBoolToVisConverter}}"/>
</StackPanel>
</ItemContainerTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<GridViewColumn AutomationProperties.AutomationId="StreamOutIENAKeyColumn" x:Name="StreamOutIENAKeyColumn">
<controls:GridViewColumnHeaderSearchable Tag="StreamOutIENAKeyColumn" HeaderTitle="{strings:TranslateExtension StreamOutParameters_IENA_Key}" Search="GridViewColumnHeaderSearchable_OnSearch" ListviewId="{Binding ListViewId}" ClickHandler="GridViewColumnHeader_Click"/>
<GridViewColumn.CellTemplate>
<ItemContainerTemplate>
<StackPanel IsEnabled="{Binding DataContext.ReadOnlyParametersMode, Converter={StaticResource InverseBoolConverter}, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type ListView}}}" >
<xctk:DoubleUpDown Value="{Binding IENA_Key}" FormatString="N0" AutomationProperties.AutomationId="StreamOutParameters_IENA_Key"
ClipValueToMinMax="True" Increment="1" Minimum="0" Maximum="65535"
BorderThickness="2.0" Visibility="{Binding IsIENA, Converter={StaticResource BoolToVisConverter}}"/>
<TextBlock Text="{strings:TranslateExtension Table_NA}" Visibility="{Binding IsIENA, Converter={StaticResource InverseBoolToVisConverter}}"/>
</StackPanel>
</ItemContainerTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<GridViewColumn AutomationProperties.AutomationId="CanIsFDColumn" x:Name="CanIsFDColumn">
<controls:GridViewColumnHeaderSearchable Tag="CanIsFD" HeaderTitle="{strings:TranslateExtension CanParameters_IsFD}" Search="GridViewColumnHeaderSearchable_OnSearch" ListviewId="{Binding ListViewId}" ClickHandler="GridViewColumnHeader_Click"/>
<GridViewColumn.CellTemplate>
<ItemContainerTemplate>
<CheckBox IsChecked="{Binding CanIsFD}" AutomationProperties.AutomationId="CanIsFDColumn"
BorderThickness="2.0" BorderBrush="{Binding IsCanIsCanFDDifferent, Converter={StaticResource BooleanToBorderBrushConverter}}"
IsEnabled="{Binding DataContext.ReadOnlyParametersMode, Converter={StaticResource InverseBoolConverter}, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type ListView}}}" />
</ItemContainerTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<GridViewColumn AutomationProperties.AutomationId="CanArbBaseBitrateColumn" x:Name="CanArbBaseBitrateColumn">
<controls:GridViewColumnHeaderSearchable Tag="CanArbBaseBitrate" HeaderTitle="{strings:TranslateExtension CanParameters_ArbBaseBitrate}" Search="GridViewColumnHeaderSearchable_OnSearch" ListviewId="{Binding ListViewId}" ClickHandler="GridViewColumnHeader_Click"/>
<GridViewColumn.CellTemplate>
<ItemContainerTemplate>
<ComboBox ItemsSource="{Binding ArbBaseBitrate_Values}" BorderThickness="2.0" BorderBrush="{Binding IsCanArbBaseBitrateDifferent, Converter={StaticResource BooleanToBorderBrushConverter}}"
IsEnabled="{Binding DataContext.ReadOnlyParametersMode, Converter={StaticResource InverseBoolConverter}, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type ListView}}}"
IsEditable="True">
<ComboBox.Text>
<Binding Path="CanArbBaseBitrate" UpdateSourceTrigger="PropertyChanged" ValidatesOnDataErrors="True" ValidatesOnNotifyDataErrors="True" ValidatesOnExceptions="True">
<Binding.ValidationRules>
<!--<validators:CANArbBaseBitrateValidator />-->
</Binding.ValidationRules>
</Binding>
</ComboBox.Text>
</ComboBox>
</ItemContainerTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<GridViewColumn AutomationProperties.AutomationId="CanArbBaseSJWColumn" x:Name="CanArbBaseSJWColumn">
<controls:GridViewColumnHeaderSearchable Tag="CanArbBaseSJW" HeaderTitle="{strings:TranslateExtension CanParameters_ArbBaseSJW}" Search="GridViewColumnHeaderSearchable_OnSearch" ListviewId="{Binding ListViewId}" ClickHandler="GridViewColumnHeader_Click"/>
<GridViewColumn.CellTemplate>
<ItemContainerTemplate>
<ComboBox ItemsSource="{Binding ArbBaseSJW_Values}" BorderThickness="2.0" BorderBrush="{Binding IsCanArbBaseSJWDifferent, Converter={StaticResource BooleanToBorderBrushConverter}}"
IsEnabled="{Binding DataContext.ReadOnlyParametersMode, Converter={StaticResource InverseBoolConverter}, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type ListView}}}"
IsEditable="True">
<ComboBox.Text>
<Binding Path="CanArbBaseSJW" UpdateSourceTrigger="PropertyChanged" ValidatesOnDataErrors="True" ValidatesOnNotifyDataErrors="True" ValidatesOnExceptions="True">
<Binding.ValidationRules>
<!--<validators:CANArbBaseBitrateValidator />-->
</Binding.ValidationRules>
</Binding>
</ComboBox.Text>
</ComboBox>
</ItemContainerTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<GridViewColumn AutomationProperties.AutomationId="CanDataBitrateColumn" x:Name="CanDataBitrateColumn">
<controls:GridViewColumnHeaderSearchable Tag="CanDataBitrate" HeaderTitle="{strings:TranslateExtension CanParameters_DataBitrate}" Search="GridViewColumnHeaderSearchable_OnSearch" ListviewId="{Binding ListViewId}" ClickHandler="GridViewColumnHeader_Click"/>
<GridViewColumn.CellTemplate>
<ItemContainerTemplate>
<ComboBox ItemsSource="{x:Static constants:EmbeddedSensors.DATABITRATE_VALUES}" BorderThickness="2.0" BorderBrush="{Binding IsCanArbBaseSJWDifferent, Converter={StaticResource BooleanToBorderBrushConverter}}"
IsEnabled="{Binding DataContext.ReadOnlyParametersMode, Converter={StaticResource InverseBoolConverter}, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type ListView}}}"
IsEditable="True" Visibility="{Binding CanIsFD, Converter={StaticResource BoolToVisConverter}}">
<ComboBox.Text>
<Binding Path="CanDataBitrate" UpdateSourceTrigger="PropertyChanged" ValidatesOnDataErrors="True" ValidatesOnNotifyDataErrors="True" ValidatesOnExceptions="True">
<Binding.ValidationRules>
<!--<validators:CANArbBaseBitrateValidator />-->
</Binding.ValidationRules>
</Binding>
</ComboBox.Text>
</ComboBox>
</ItemContainerTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<GridViewColumn AutomationProperties.AutomationId="CanDataSJWColumn" x:Name="CanDataSJWColumn">
<controls:GridViewColumnHeaderSearchable Tag="CanDataSJW" HeaderTitle="{strings:TranslateExtension CanParameters_DataSJW}" Search="GridViewColumnHeaderSearchable_OnSearch" ListviewId="{Binding ListViewId}" ClickHandler="GridViewColumnHeader_Click"/>
<GridViewColumn.CellTemplate>
<ItemContainerTemplate>
<ComboBox ItemsSource="{Binding DataSJW_Values}" BorderThickness="2.0" BorderBrush="{Binding IsCanArbBaseSJWDifferent, Converter={StaticResource BooleanToBorderBrushConverter}}"
IsEnabled="{Binding DataContext.ReadOnlyParametersMode, Converter={StaticResource InverseBoolConverter}, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type ListView}}}"
IsEditable="True" Visibility="{Binding CanIsFD, Converter={StaticResource BoolToVisConverter}}">
<ComboBox.Text>
<Binding Path="CanDataSJW" UpdateSourceTrigger="PropertyChanged" ValidatesOnDataErrors="True" ValidatesOnNotifyDataErrors="True" ValidatesOnExceptions="True">
<Binding.ValidationRules>
<!--<validators:CANArbBaseBitrateValidator />-->
</Binding.ValidationRules>
</Binding>
</ComboBox.Text>
</ComboBox>
</ItemContainerTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<GridViewColumn AutomationProperties.AutomationId="CanFileTypeColumn" x:Name="CanFileTypeColumn">
<controls:GridViewColumnHeaderSearchable Tag="CanFileType" HeaderTitle="{strings:TranslateExtension CanParameters_FileType}" Search="GridViewColumnHeaderSearchable_OnSearch" ListviewId="{Binding ListViewId}" ClickHandler="GridViewColumnHeader_Click"/>
<GridViewColumn.CellTemplate>
<ItemContainerTemplate>
<ComboBox ItemsSource="{x:Static constants:EmbeddedSensors.FILETYPE_VALUES}" BorderThickness="2.0" BorderBrush="{Binding IsCanArbBaseSJWDifferent, Converter={StaticResource BooleanToBorderBrushConverter}}"
IsEnabled="{Binding DataContext.ReadOnlyParametersMode, Converter={StaticResource InverseBoolConverter}, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type ListView}}}"
IsEditable="True">
<ComboBox.Text>
<Binding Path="CanFileType" UpdateSourceTrigger="PropertyChanged" ValidatesOnDataErrors="True" ValidatesOnNotifyDataErrors="True" ValidatesOnExceptions="True">
<Binding.ValidationRules>
<!--<validators:CANArbBaseBitrateValidator />-->
</Binding.ValidationRules>
</Binding>
</ComboBox.Text>
</ComboBox>
</ItemContainerTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
</controls:AutoSizedGridView>
</ListView.View>
</ListView>
<!--</ScrollViewer>-->
</Grid>
</base:BaseView>