You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
98 lines
5.9 KiB
98 lines
5.9 KiB
<UserControl x:Class="MultiTerm.Wpf.View.SettingsView.SerialSettingsView"
|
|
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
|
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
|
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
|
xmlns:sys="clr-namespace:System;assembly=mscorlib"
|
|
xmlns:local="clr-namespace:MultiTerm.Wpf.View.SettingsView"
|
|
xmlns:conv="clr-namespace:MultiTerm.Wpf.ValueConverters"
|
|
xmlns:serial_protocol="clr-namespace:MultiTerm.Protocols.Serial;assembly=MultiTerm.Protocols"
|
|
xmlns:XamlBehavioursWpf="http://schemas.microsoft.com/xaml/behaviors"
|
|
mc:Ignorable="d"
|
|
d:DesignHeight="50" d:DesignWidth="800">
|
|
<DockPanel>
|
|
<Button DockPanel.Dock="Left" Command="{Binding ConnectDisconnectCommand}" Content="{Binding ConnectDisconnectButtonText}" Width="80"/>
|
|
|
|
<StackPanel Orientation="Horizontal" IsEnabled="{Binding AreEditable}">
|
|
<StackPanel.Resources>
|
|
<!-- Converter -->
|
|
<conv:EnumValueToEnumDescriptionConverter x:Key="EnumValToDescConverter"/>
|
|
<conv:IntToStringConverter x:Key="IntToStringConverter"/>
|
|
|
|
<!-- Data Sources -->
|
|
<ObjectDataProvider x:Key="ParityValues"
|
|
ObjectType="{x:Type sys:Enum}"
|
|
MethodName="GetValues">
|
|
<ObjectDataProvider.MethodParameters>
|
|
<x:Type TypeName="serial_protocol:Parity" />
|
|
</ObjectDataProvider.MethodParameters>
|
|
</ObjectDataProvider>
|
|
<ObjectDataProvider x:Key="StopBitsValues"
|
|
ObjectType="{x:Type sys:Enum}"
|
|
MethodName="GetValues">
|
|
<ObjectDataProvider.MethodParameters>
|
|
<x:Type TypeName="serial_protocol:StopBits" />
|
|
</ObjectDataProvider.MethodParameters>
|
|
</ObjectDataProvider>
|
|
<ObjectDataProvider x:Key="HandshakeValues"
|
|
ObjectType="{x:Type sys:Enum}"
|
|
MethodName="GetValues">
|
|
<ObjectDataProvider.MethodParameters>
|
|
<x:Type TypeName="serial_protocol:Handshake" />
|
|
</ObjectDataProvider.MethodParameters>
|
|
</ObjectDataProvider>
|
|
</StackPanel.Resources>
|
|
|
|
<Label Margin="10 0" VerticalAlignment="Center">Port: </Label>
|
|
<ComboBox Width="100" x:Name="comboBoxPorts"
|
|
ItemsSource="{Binding Path=ComPorts}" SelectedItem="{Binding Path=PortName, Mode=TwoWay}"
|
|
VerticalContentAlignment="Center">
|
|
<!-- Auto reload com ports when opening combobox -->
|
|
<XamlBehavioursWpf:Interaction.Triggers>
|
|
<XamlBehavioursWpf:EventTrigger EventName="DropDownOpened" SourceObject="{Binding ElementName=comboBoxPorts}">
|
|
<XamlBehavioursWpf:InvokeCommandAction Command="{Binding ReloadComPortsCommand}" />
|
|
</XamlBehavioursWpf:EventTrigger>
|
|
</XamlBehavioursWpf:Interaction.Triggers>
|
|
</ComboBox>
|
|
<Button Margin="5 0" Content="R" VerticalContentAlignment="Center"
|
|
Command="{Binding ReloadComPortsCommand}" Width="25"/>
|
|
|
|
<Label Margin="20 0 10 0" VerticalAlignment="Center">Baud Rate:</Label>
|
|
<ComboBox IsEditable="True" Width="100" VerticalContentAlignment="Center" Text="{Binding Path=BaudRate, Converter={StaticResource IntToStringConverter}, Mode=TwoWay}" >
|
|
<ComboBoxItem Content="2400"/>
|
|
<ComboBoxItem Content="9600"/>
|
|
<ComboBoxItem Content="19200"/>
|
|
<ComboBoxItem Content="56000"/>
|
|
<ComboBoxItem Content="57600"/>
|
|
<ComboBoxItem Content="115200"/>
|
|
<ComboBoxItem Content="128000"/>
|
|
<ComboBoxItem Content="256000"/>
|
|
</ComboBox>
|
|
|
|
<Label Margin="10 0 10 0" VerticalAlignment="Center">Data Bits:</Label>
|
|
<ComboBox IsEditable="False" Width="Auto" VerticalContentAlignment="Center" Text="{Binding Path=DataBits, Converter={StaticResource IntToStringConverter}, Mode=TwoWay}" >
|
|
<ComboBoxItem Content="5"/>
|
|
<ComboBoxItem Content="6"/>
|
|
<ComboBoxItem Content="7"/>
|
|
<ComboBoxItem Content="8"/>
|
|
<ComboBoxItem Content="16"/>
|
|
</ComboBox>
|
|
|
|
<Label Margin="10 0 10 0" VerticalAlignment="Center">Parity:</Label>
|
|
<ComboBox Width="Auto" VerticalContentAlignment="Center"
|
|
ItemsSource="{Binding Source={StaticResource ParityValues}, Converter={StaticResource EnumValToDescConverter}}"
|
|
SelectedItem="{Binding Path=Parity, Converter={StaticResource EnumValToDescConverter}, Mode=TwoWay}"/>
|
|
|
|
<Label Margin="10 0 10 0" VerticalAlignment="Center">Stop Bits:</Label>
|
|
<ComboBox Width="Auto" VerticalContentAlignment="Center"
|
|
ItemsSource="{Binding Source={StaticResource StopBitsValues}, Converter={StaticResource EnumValToDescConverter}}"
|
|
SelectedItem="{Binding Path=StopBits, Converter={StaticResource EnumValToDescConverter}, Mode=TwoWay}"/>
|
|
|
|
<Label Margin="10 0 10 0" VerticalAlignment="Center">Handshake:</Label>
|
|
<ComboBox Width="Auto" VerticalContentAlignment="Center"
|
|
ItemsSource="{Binding Source={StaticResource HandshakeValues}, Converter={StaticResource EnumValToDescConverter}}"
|
|
SelectedItem="{Binding Path=Handshake, Converter={StaticResource EnumValToDescConverter}, Mode=TwoWay}"/>
|
|
|
|
</StackPanel>
|
|
</DockPanel>
|
|
</UserControl>
|
|
|