| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806 |
- <UserControl x:Class="TeamAAS_VP.Controls.VibrationPara"
- xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
- xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
- xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
- xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
- xmlns:local="clr-namespace:TeamAAS_VP.Controls"
- xmlns:mah="http://metro.mahapps.com/winfx/xaml/controls"
- xmlns:materialDesign="http://materialdesigninxaml.net/winfx/xaml/themes"
- xmlns:b="http://schemas.microsoft.com/xaml/behaviors"
- xmlns:sys="clr-namespace:System;assembly=mscorlib"
- xmlns:convert="clr-namespace:TeamAAS_VP.ValueConverter"
- xmlns:fenum="clr-namespace:Team.FFFeederService.Enums;assembly=Team.FFFeederService"
- xmlns:lex="http://wpflocalizeextension.codeplex.com"
- lex:LocalizeDictionary.DesignCulture="zh-CN"
- lex:ResxLocalizationProvider.DefaultAssembly="TeamAAS-VP"
- lex:ResxLocalizationProvider.DefaultDictionary="Lang"
- mc:Ignorable="d"
- d:DesignHeight="600"
- d:DesignWidth="700"
- d:Background="White"
- FontFamily="{DynamicResource DefaultFont}">
- <UserControl.Resources>
- <convert:NoneWaveConverter x:Key="NoneWaveConverter" />
- </UserControl.Resources>
- <Viewbox Stretch="Uniform">
- <Grid>
- <Grid.RowDefinitions>
- <RowDefinition Height="Auto" />
- <RowDefinition />
- <RowDefinition Height="Auto" />
- </Grid.RowDefinitions>
- <StackPanel Grid.Column="0"
- Margin="4,0"
- Orientation="Horizontal">
- <ComboBox x:Name="ComboBoxSequence"
- MinWidth="30"
- Margin="10,0"
- HorizontalContentAlignment="Center"
- materialDesign:HintAssist.Hint="{lex:Loc 选择振动集}"
- materialDesign:HintAssist.IsFloating="True"
- ItemsSource="{Binding ProgramCollection}"
- SelectedIndex="{Binding SelectProgram}">
- <b:Interaction.Triggers>
- <b:EventTrigger EventName="SelectionChanged">
- <b:InvokeCommandAction Command="{Binding SelectProgramCommand}" />
- </b:EventTrigger>
- </b:Interaction.Triggers>
- </ComboBox>
- <ComboBox x:Name="ComboBoxShakeMotions"
- MinWidth="30"
- Margin="10,0"
- HorizontalContentAlignment="Center"
- materialDesign:HintAssist.Hint="{lex:Loc 选择动作}"
- materialDesign:HintAssist.IsFloating="True"
- SelectedIndex="{Binding SelectedShakeMotionIndex}">
- <b:Interaction.Triggers>
- <b:EventTrigger EventName="SelectionChanged">
- <b:InvokeCommandAction Command="{Binding SelectActionCommand}"
- CommandParameter="{Binding ElementName=ComboBoxShakeMotions, Path=SelectedIndex}" />
- </b:EventTrigger>
- </b:Interaction.Triggers>
- <!--A-->
- <ComboBoxItem>
- <StackPanel Orientation="Horizontal">
- <TextBlock Text="A"
- VerticalAlignment="Center" />
- <materialDesign:PackIcon Kind="ArrowLeftBold"
- Margin="5,0" />
- </StackPanel>
- </ComboBoxItem>
- <!--B-->
- <ComboBoxItem>
- <StackPanel Orientation="Horizontal">
- <TextBlock Text="B"
- VerticalAlignment="Center" />
- <materialDesign:PackIcon Kind="ArrowBottomLeftThick"
- Margin="5,0" />
- </StackPanel>
- </ComboBoxItem>
- <!--C-->
- <ComboBoxItem>
- <StackPanel Orientation="Horizontal">
- <TextBlock Text="C"
- VerticalAlignment="Center" />
- <materialDesign:PackIcon Kind="ArrowTopLeftThick"
- Margin="5,0" />
- </StackPanel>
- </ComboBoxItem>
- <!--D-->
- <ComboBoxItem>
- <StackPanel Orientation="Horizontal">
- <TextBlock Text="D"
- VerticalAlignment="Center" />
- <materialDesign:PackIcon Kind="ArrowDownBold"
- Margin="5,0" />
- </StackPanel>
- </ComboBoxItem>
- <!--E-->
- <ComboBoxItem>
- <StackPanel Orientation="Horizontal">
- <TextBlock Text="E"
- VerticalAlignment="Center" />
- <materialDesign:PackIcon Kind="ArrowUpBold"
- Margin="5,0" />
- </StackPanel>
- </ComboBoxItem>
- <!--F-->
- <ComboBoxItem>
- <StackPanel Orientation="Horizontal">
- <TextBlock Text="F"
- VerticalAlignment="Center" />
- <materialDesign:PackIcon Kind="ArrowRightBold"
- Margin="5,0" />
- </StackPanel>
- </ComboBoxItem>
- <!--G-->
- <ComboBoxItem>
- <StackPanel Orientation="Horizontal">
- <TextBlock Text="G"
- VerticalAlignment="Center" />
- <materialDesign:PackIcon Kind="ArrowBottomRightThick"
- Margin="5,0" />
- </StackPanel>
- </ComboBoxItem>
- <!--H-->
- <ComboBoxItem>
- <StackPanel Orientation="Horizontal">
- <TextBlock Text="H"
- VerticalAlignment="Center" />
- <materialDesign:PackIcon Kind="ArrowTopRightThick"
- Margin="5,0" />
- </StackPanel>
- </ComboBoxItem>
- <!--I-->
- <ComboBoxItem>
- <StackPanel Orientation="Horizontal">
- <TextBlock Text="I"
- VerticalAlignment="Center" />
- <materialDesign:PackIcon Kind="ArrowExpandAll"
- Margin="5,0" />
- </StackPanel>
- </ComboBoxItem>
- <!--J-->
- <ComboBoxItem>
- <StackPanel Orientation="Horizontal">
- <TextBlock Text="J"
- VerticalAlignment="Center" />
- <materialDesign:PackIcon Kind="ArrowCollapseHorizontal"
- Margin="5,0" />
- </StackPanel>
- </ComboBoxItem>
- <!--K-->
- <ComboBoxItem>
- <StackPanel Orientation="Horizontal">
- <TextBlock Text="K"
- VerticalAlignment="Center" />
- <materialDesign:PackIcon Kind="ArrowCollapseVertical"
- Margin="5,0" />
- </StackPanel>
- </ComboBoxItem>
- <!--L-->
- <ComboBoxItem>L</ComboBoxItem>
- <!--M-->
- <ComboBoxItem>M</ComboBoxItem>
- <!--N-->
- <ComboBoxItem>N</ComboBoxItem>
- <!--O-->
- <ComboBoxItem>O</ComboBoxItem>
- <!--P-->
- <ComboBoxItem>P</ComboBoxItem>
- <!--Q-->
- <ComboBoxItem>Q</ComboBoxItem>
- <!--R-->
- <ComboBoxItem>R</ComboBoxItem>
- <!--S-->
- <ComboBoxItem>S</ComboBoxItem>
- <!--T-->
- <ComboBoxItem>T</ComboBoxItem>
- <!--U-->
- <ComboBoxItem>U</ComboBoxItem>
- <!--V-->
- <ComboBoxItem>V</ComboBoxItem>
- <!--W-->
- <ComboBoxItem>W</ComboBoxItem>
- <!--X-->
- <ComboBoxItem>X</ComboBoxItem>
- <!--Y-->
- <ComboBoxItem>Y</ComboBoxItem>
- <!--Z-->
- <ComboBoxItem>Z</ComboBoxItem>
- </ComboBox>
- <local:myNumericUpDowm x:Name="nud_duration"
- MinWidth="100"
- Margin="5,0"
- VerticalAlignment="Center"
- materialDesign:HintAssist.Foreground="BlueViolet"
- materialDesign:HintAssist.Hint="{lex:Loc 持续时间,Converter={StaticResource StringFormatConverter},ConverterParameter='{}{0}(ms)'}"
- materialDesign:HintAssist.IsFloating="True"
- Minimum="0"
- Maximum="20000"
- Interval="100"
- StringFormat="{}{0:N0} ms"
- Value="{Binding Duration,Mode=TwoWay}">
- <b:Interaction.Triggers>
- <b:EventTrigger EventName="ValueChanged">
- <b:InvokeCommandAction Command="{Binding DurationChangedCommand}"
- CommandParameter="{Binding ElementName=nud_duration, Path=Value}" />
- </b:EventTrigger>
- </b:Interaction.Triggers>
- </local:myNumericUpDowm>
- <Popup x:Name="SliderPopup"
- Width="150"
- Height="{Binding ElementName=nud_duration, Path=Height}"
- PlacementTarget="{Binding ElementName=nud_duration}"
- Placement="Bottom"
- AllowsTransparency="True"
- StaysOpen="False">
- <Grid Background="Transparent">
- <Border Background="#575757"
- CornerRadius="0,0,3,3">
- <Slider x:Name="slider2"
- Margin="5,2,5,2"
- Foreground="#2196f3"
- Maximum="{Binding ElementName=nud_duration, Path=Maximum}"
- Minimum="{Binding ElementName=nud_duration, Path=Minimum}"
- Value="{Binding ElementName=nud_duration,Path=Value,Mode=TwoWay}" />
- </Border>
- </Grid>
- </Popup>
- <Button Margin="4,5"
- Command="{Binding ExecuteFromSelected}"
- Content="{lex:Loc 执行}"
- materialDesign:ButtonAssist.CornerRadius="5"
- Cursor="Hand" />
- <Button Margin="4,5"
- materialDesign:ButtonAssist.CornerRadius="5"
- Command="{Binding ExecuteStopCommand}"
- Content="{lex:Loc 停止}" />
- <Button Margin="5,0"
- materialDesign:ButtonAssist.CornerRadius="5"
- Command="{Binding SaveParamCommand}"
- Content="{lex:Loc 下载参数}"
- Cursor="Hand" />
- </StackPanel>
- <UniformGrid Grid.Row="1">
- <GroupBox Margin="4,4"
- Header="Motor1">
- <UniformGrid Columns="2">
- <TextBlock Margin="4,0"
- VerticalAlignment="Center"
- Text="{lex:Loc 振幅}" />
- <local:myNumericUpDowm x:Name="MotorAmplitudeNumeric1"
- Margin="4,0"
- Minimum="0"
- Maximum="100"
- Interval="1"
- StringFormat="{}{0:N0} %"
- Value="{Binding Motor1.Amplitude,Mode=TwoWay}">
- <b:Interaction.Triggers>
- <b:EventTrigger EventName="ValueChanged">
- <b:InvokeCommandAction Command="{Binding VoiceMotorParamChangedCommand}"
- CommandParameter="1-1" />
- </b:EventTrigger>
- </b:Interaction.Triggers>
- </local:myNumericUpDowm>
- <!--<mah:NumericUpDown x:Name="MotorAmplitudeNumeric1"
- Margin="4,0"
- StringFormat="{}{0:N0} %"
- Value="{Binding VoiceMotorParam1.Amplitude}" />-->
- <TextBlock Margin="4,0"
- VerticalAlignment="Center"
- Text="{lex:Loc 频率}" />
- <local:myNumericUpDowm Margin="4,0"
- Minimum="0"
- Maximum="250"
- Interval="1"
- StringFormat="{}{0:N0} Hz"
- Value="{Binding Motor1.Frequency,Mode=TwoWay}">
- <b:Interaction.Triggers>
- <b:EventTrigger EventName="ValueChanged">
- <b:InvokeCommandAction Command="{Binding VoiceMotorParamChangedCommand}"
- CommandParameter="1-2" />
- </b:EventTrigger>
- </b:Interaction.Triggers>
- </local:myNumericUpDowm>
- <TextBlock Margin="4,0"
- VerticalAlignment="Center"
- Text="{lex:Loc 相位}" />
- <local:myNumericUpDowm Margin="4,0"
- Interval="1"
- Maximum="359"
- Minimum="0"
- StringFormat="{}{0:N0} °"
- Value="{Binding Motor1.Phase,Mode=TwoWay}">
- <b:Interaction.Triggers>
- <b:EventTrigger EventName="ValueChanged">
- <b:InvokeCommandAction Command="{Binding VoiceMotorParamChangedCommand}"
- CommandParameter="1-3" />
- </b:EventTrigger>
- </b:Interaction.Triggers>
- </local:myNumericUpDowm>
- <TextBlock Margin="4,0"
- VerticalAlignment="Center"
- Text="{lex:Loc 波形}" />
- <StackPanel Margin="0,5,0,0"
- HorizontalAlignment="Center"
- Orientation="Horizontal">
- <ToggleButton Width="30"
- Height="30"
- Margin="2,0"
- Content="None"
- IsChecked="{Binding Motor1.WaveShape, Converter={StaticResource NoneWaveConverter}, ConverterParameter=0, Mode=TwoWay, NotifyOnTargetUpdated=True}"
- Style="{DynamicResource MahApps.Styles.ToggleButton.Circle}">
- <b:Interaction.Triggers>
- <b:EventTrigger EventName="Click">
- <b:InvokeCommandAction Command="{Binding WaveShapeChangedCommand}"
- CommandParameter="1-1" />
- </b:EventTrigger>
- </b:Interaction.Triggers>
- </ToggleButton>
- <ToggleButton Width="30"
- Height="30"
- Margin="2,0"
- IsChecked="{Binding Motor1.WaveShape, Converter={StaticResource NoneWaveConverter}, ConverterParameter=1, Mode=TwoWay, NotifyOnTargetUpdated=True}"
- Style="{DynamicResource MahApps.Styles.ToggleButton.Circle}">
- <materialDesign:PackIcon Width="18"
- Height="18"
- Kind="SineWave" />
- <b:Interaction.Triggers>
- <b:EventTrigger EventName="Click">
- <b:InvokeCommandAction Command="{Binding WaveShapeChangedCommand}"
- CommandParameter="1-2" />
- </b:EventTrigger>
- </b:Interaction.Triggers>
- </ToggleButton>
- <ToggleButton Width="30"
- Height="30"
- Margin="2,0"
- IsChecked="{Binding Motor1.WaveShape, Converter={StaticResource NoneWaveConverter}, ConverterParameter=2, Mode=TwoWay, NotifyOnTargetUpdated=True}"
- Style="{DynamicResource MahApps.Styles.ToggleButton.Circle}">
- <materialDesign:PackIcon Width="18"
- Height="18"
- Kind="SawtoothWave" />
- <b:Interaction.Triggers>
- <b:EventTrigger EventName="Click">
- <b:InvokeCommandAction Command="{Binding WaveShapeChangedCommand}"
- CommandParameter="1-3" />
- </b:EventTrigger>
- </b:Interaction.Triggers>
- </ToggleButton>
- <ToggleButton Width="30"
- Height="30"
- Margin="2,0"
- IsChecked="{Binding Motor1.WaveShape, Converter={StaticResource NoneWaveConverter}, ConverterParameter=3, Mode=TwoWay, NotifyOnTargetUpdated=True}"
- Style="{DynamicResource MahApps.Styles.ToggleButton.Circle}">
- <materialDesign:PackIcon Width="18"
- Height="18"
- Kind="TriangleWave" />
- <b:Interaction.Triggers>
- <b:EventTrigger EventName="Click">
- <b:InvokeCommandAction Command="{Binding WaveShapeChangedCommand}"
- CommandParameter="1-4" />
- </b:EventTrigger>
- </b:Interaction.Triggers>
- </ToggleButton>
- </StackPanel>
- </UniformGrid>
- </GroupBox>
- <GroupBox Margin="4,4"
- Header="Motor3">
- <UniformGrid Columns="2">
- <TextBlock Margin="4,0"
- VerticalAlignment="Center"
- Text="{lex:Loc 振幅}" />
- <local:myNumericUpDowm x:Name="MotorAmplitudeNumeric3"
- Margin="4,0"
- Minimum="0"
- Maximum="100"
- Interval="1"
- StringFormat="{}{0:N0} %"
- Value="{Binding Motor3.Amplitude,Mode=TwoWay}">
- <b:Interaction.Triggers>
- <b:EventTrigger EventName="ValueChanged">
- <b:InvokeCommandAction Command="{Binding VoiceMotorParamChangedCommand}"
- CommandParameter="3-1" />
- </b:EventTrigger>
- </b:Interaction.Triggers>
- </local:myNumericUpDowm>
- <TextBlock Margin="4,0"
- VerticalAlignment="Center"
- Text="{lex:Loc 频率}" />
- <local:myNumericUpDowm Margin="4,0"
- Minimum="0"
- Maximum="250"
- Interval="1"
- StringFormat="{}{0:N0} Hz"
- Value="{Binding Motor3.Frequency,Mode=TwoWay}">
- <b:Interaction.Triggers>
- <b:EventTrigger EventName="ValueChanged">
- <b:InvokeCommandAction Command="{Binding VoiceMotorParamChangedCommand}"
- CommandParameter="3-2" />
- </b:EventTrigger>
- </b:Interaction.Triggers>
- </local:myNumericUpDowm>
- <TextBlock Margin="4,0"
- VerticalAlignment="Center"
- Text="{lex:Loc 相位}" />
- <local:myNumericUpDowm Margin="4,0"
- Interval="1"
- Maximum="359"
- Minimum="0"
- StringFormat="{}{0:N0} °"
- Value="{Binding Motor3.Phase,Mode=TwoWay}">
- <b:Interaction.Triggers>
- <b:EventTrigger EventName="ValueChanged">
- <b:InvokeCommandAction Command="{Binding VoiceMotorParamChangedCommand}"
- CommandParameter="3-3" />
- </b:EventTrigger>
- </b:Interaction.Triggers>
- </local:myNumericUpDowm>
- <TextBlock Margin="4,0"
- VerticalAlignment="Center"
- Text="{lex:Loc 波形}" />
- <StackPanel Margin="0,5,0,0"
- HorizontalAlignment="Center"
- Orientation="Horizontal">
- <ToggleButton Width="30"
- Height="30"
- Margin="2,0"
- Content="None"
- IsChecked="{Binding Motor3.WaveShape, Converter={StaticResource NoneWaveConverter}, ConverterParameter=0, Mode=TwoWay, NotifyOnTargetUpdated=True}"
- Style="{DynamicResource MahApps.Styles.ToggleButton.Circle}">
- <b:Interaction.Triggers>
- <b:EventTrigger EventName="Click">
- <b:InvokeCommandAction Command="{Binding WaveShapeChangedCommand}"
- CommandParameter="3-1" />
- </b:EventTrigger>
- </b:Interaction.Triggers>
- </ToggleButton>
- <ToggleButton Width="30"
- Height="30"
- Margin="2,0"
- IsChecked="{Binding Motor3.WaveShape, Converter={StaticResource NoneWaveConverter}, ConverterParameter=1, Mode=TwoWay, NotifyOnTargetUpdated=True}"
- Style="{DynamicResource MahApps.Styles.ToggleButton.Circle}">
- <materialDesign:PackIcon Width="18"
- Height="18"
- Kind="SineWave" />
- <b:Interaction.Triggers>
- <b:EventTrigger EventName="Click">
- <b:InvokeCommandAction Command="{Binding WaveShapeChangedCommand}"
- CommandParameter="3-2" />
- </b:EventTrigger>
- </b:Interaction.Triggers>
- </ToggleButton>
- <ToggleButton Width="32"
- Height="32"
- Margin="2,0"
- IsChecked="{Binding Motor3.WaveShape, Converter={StaticResource NoneWaveConverter}, ConverterParameter=2, Mode=TwoWay, NotifyOnTargetUpdated=True}"
- Style="{DynamicResource MahApps.Styles.ToggleButton.Circle}">
- <materialDesign:PackIcon Width="18"
- Height="18"
- Kind="SawtoothWave" />
- <b:Interaction.Triggers>
- <b:EventTrigger EventName="Click">
- <b:InvokeCommandAction Command="{Binding WaveShapeChangedCommand}"
- CommandParameter="3-3" />
- </b:EventTrigger>
- </b:Interaction.Triggers>
- </ToggleButton>
- <ToggleButton Width="30"
- Height="30"
- Margin="2,0"
- IsChecked="{Binding Motor3.WaveShape, Converter={StaticResource NoneWaveConverter}, ConverterParameter=3, Mode=TwoWay, NotifyOnTargetUpdated=True}"
- Style="{DynamicResource MahApps.Styles.ToggleButton.Circle}">
- <materialDesign:PackIcon Width="18"
- Height="18"
- Kind="TriangleWave" />
- <b:Interaction.Triggers>
- <b:EventTrigger EventName="Click">
- <b:InvokeCommandAction Command="{Binding WaveShapeChangedCommand}"
- CommandParameter="3-4" />
- </b:EventTrigger>
- </b:Interaction.Triggers>
- </ToggleButton>
- </StackPanel>
- </UniformGrid>
- </GroupBox>
- <GroupBox Margin="4,4"
- Header="Motor2">
- <UniformGrid Columns="2">
- <TextBlock Margin="4,0"
- VerticalAlignment="Center"
- Text="{lex:Loc 振幅}" />
- <local:myNumericUpDowm x:Name="MotorAmplitudeNumeric2"
- Margin="4,0"
- Minimum="0"
- Maximum="100"
- Interval="1"
- StringFormat="{}{0:N0} %"
- Value="{Binding Motor2.Amplitude,Mode=TwoWay}">
- <b:Interaction.Triggers>
- <b:EventTrigger EventName="ValueChanged">
- <b:InvokeCommandAction Command="{Binding VoiceMotorParamChangedCommand}"
- CommandParameter="2-1" />
- </b:EventTrigger>
- </b:Interaction.Triggers>
- </local:myNumericUpDowm>
- <TextBlock Margin="4,0"
- VerticalAlignment="Center"
- Text="{lex:Loc 频率}" />
- <local:myNumericUpDowm Margin="4,0"
- Minimum="0"
- Maximum="250"
- Interval="1"
- StringFormat="{}{0:N0} Hz"
- Value="{Binding Motor2.Frequency,Mode=TwoWay}">
- <b:Interaction.Triggers>
- <b:EventTrigger EventName="ValueChanged">
- <b:InvokeCommandAction Command="{Binding VoiceMotorParamChangedCommand}"
- CommandParameter="2-2" />
- </b:EventTrigger>
- </b:Interaction.Triggers>
- </local:myNumericUpDowm>
- <TextBlock Margin="4,0"
- VerticalAlignment="Center"
- Text="{lex:Loc 相位}" />
- <local:myNumericUpDowm Margin="4,0"
- Maximum="359"
- Minimum="0"
- Interval="1"
- StringFormat="{}{0:N0} °"
- Value="{Binding Motor2.Phase,Mode=TwoWay}">
- <b:Interaction.Triggers>
- <b:EventTrigger EventName="ValueChanged">
- <b:InvokeCommandAction Command="{Binding VoiceMotorParamChangedCommand}"
- CommandParameter="2-3" />
- </b:EventTrigger>
- </b:Interaction.Triggers>
- </local:myNumericUpDowm>
- <TextBlock Margin="4,0"
- VerticalAlignment="Center"
- Text="{lex:Loc 波形}" />
- <StackPanel Margin="0,5,0,0"
- HorizontalAlignment="Center"
- Orientation="Horizontal">
- <ToggleButton Width="30"
- Height="30"
- Margin="2,0"
- Content="None"
- IsChecked="{Binding Motor2.WaveShape, Converter={StaticResource NoneWaveConverter}, ConverterParameter=0, Mode=TwoWay, NotifyOnTargetUpdated=True}"
- Style="{DynamicResource MahApps.Styles.ToggleButton.Circle}">
- <b:Interaction.Triggers>
- <b:EventTrigger EventName="Click">
- <b:InvokeCommandAction Command="{Binding WaveShapeChangedCommand}"
- CommandParameter="2-1" />
- </b:EventTrigger>
- </b:Interaction.Triggers>
- </ToggleButton>
- <ToggleButton Width="30"
- Height="30"
- Margin="2,0"
- IsChecked="{Binding Motor2.WaveShape, Converter={StaticResource NoneWaveConverter}, ConverterParameter=1, Mode=TwoWay, NotifyOnTargetUpdated=True}"
- Style="{DynamicResource MahApps.Styles.ToggleButton.Circle}">
- <materialDesign:PackIcon Width="18"
- Height="18"
- Kind="SineWave" />
- <b:Interaction.Triggers>
- <b:EventTrigger EventName="Click">
- <b:InvokeCommandAction Command="{Binding WaveShapeChangedCommand}"
- CommandParameter="2-2" />
- </b:EventTrigger>
- </b:Interaction.Triggers>
- </ToggleButton>
- <ToggleButton Width="30"
- Height="30"
- Margin="2,0"
- IsChecked="{Binding Motor2.WaveShape, Converter={StaticResource NoneWaveConverter}, ConverterParameter=2, Mode=TwoWay, NotifyOnTargetUpdated=True}"
- Style="{DynamicResource MahApps.Styles.ToggleButton.Circle}">
- <materialDesign:PackIcon Width="18"
- Height="18"
- Kind="SawtoothWave" />
- <b:Interaction.Triggers>
- <b:EventTrigger EventName="Click">
- <b:InvokeCommandAction Command="{Binding WaveShapeChangedCommand}"
- CommandParameter="2-3" />
- </b:EventTrigger>
- </b:Interaction.Triggers>
- </ToggleButton>
- <ToggleButton Width="30"
- Height="30"
- Margin="2,0"
- IsChecked="{Binding Motor2.WaveShape, Converter={StaticResource NoneWaveConverter}, ConverterParameter=3, Mode=TwoWay, NotifyOnTargetUpdated=True}"
- Style="{DynamicResource MahApps.Styles.ToggleButton.Circle}">
- <materialDesign:PackIcon Width="18"
- Height="18"
- Kind="TriangleWave" />
- <b:Interaction.Triggers>
- <b:EventTrigger EventName="Click">
- <b:InvokeCommandAction Command="{Binding WaveShapeChangedCommand}"
- CommandParameter="2-4" />
- </b:EventTrigger>
- </b:Interaction.Triggers>
- </ToggleButton>
- </StackPanel>
- </UniformGrid>
- </GroupBox>
- <GroupBox Margin="4,4"
- Header="Motor4">
- <UniformGrid Columns="2">
- <TextBlock Margin="4,0"
- VerticalAlignment="Center"
- Text="{lex:Loc 振幅}" />
- <local:myNumericUpDowm x:Name="MotorAmplitudeNumeric4"
- Margin="4,0"
- Minimum="0"
- Maximum="100"
- Interval="1"
- StringFormat="{}{0:N0} %"
- Value="{Binding Motor4.Amplitude,Mode=TwoWay}">
- <b:Interaction.Triggers>
- <b:EventTrigger EventName="ValueChanged">
- <b:InvokeCommandAction Command="{Binding VoiceMotorParamChangedCommand}"
- CommandParameter="4-1" />
- </b:EventTrigger>
- </b:Interaction.Triggers>
- </local:myNumericUpDowm>
- <TextBlock Margin="4,0"
- VerticalAlignment="Center"
- Text="{lex:Loc 频率}" />
- <local:myNumericUpDowm Margin="4,0"
- Minimum="0"
- Maximum="250"
- Interval="1"
- StringFormat="{}{0:N0} Hz"
- Value="{Binding Motor4.Frequency,Mode=TwoWay}">
- <b:Interaction.Triggers>
- <b:EventTrigger EventName="ValueChanged">
- <b:InvokeCommandAction Command="{Binding VoiceMotorParamChangedCommand}"
- CommandParameter="4-2" />
- </b:EventTrigger>
- </b:Interaction.Triggers>
- </local:myNumericUpDowm>
- <TextBlock Margin="4,0"
- VerticalAlignment="Center"
- Text="{lex:Loc 相位}" />
- <local:myNumericUpDowm Margin="4,0"
- Maximum="359"
- Minimum="0"
- Interval="1"
- StringFormat="{}{0:N0} °"
- Value="{Binding Motor4.Phase,Mode=TwoWay}">
- <b:Interaction.Triggers>
- <b:EventTrigger EventName="ValueChanged">
- <b:InvokeCommandAction Command="{Binding VoiceMotorParamChangedCommand}"
- CommandParameter="4-3" />
- </b:EventTrigger>
- </b:Interaction.Triggers>
- </local:myNumericUpDowm>
- <TextBlock Margin="4,0"
- VerticalAlignment="Center"
- Text="{lex:Loc 波形}" />
- <StackPanel Margin="0,5,0,0"
- HorizontalAlignment="Center"
- Orientation="Horizontal">
- <ToggleButton Width="30"
- Height="30"
- Margin="2,0"
- Content="None"
- IsChecked="{Binding Motor4.WaveShape, Converter={StaticResource NoneWaveConverter}, ConverterParameter=0, Mode=TwoWay, NotifyOnTargetUpdated=True}"
- Style="{DynamicResource MahApps.Styles.ToggleButton.Circle}">
- <b:Interaction.Triggers>
- <b:EventTrigger EventName="Click">
- <b:InvokeCommandAction Command="{Binding WaveShapeChangedCommand}"
- CommandParameter="4-1" />
- </b:EventTrigger>
- </b:Interaction.Triggers>
- </ToggleButton>
- <ToggleButton Width="30"
- Height="30"
- Margin="2,0"
- IsChecked="{Binding Motor4.WaveShape, Converter={StaticResource NoneWaveConverter}, ConverterParameter=1, Mode=TwoWay, NotifyOnTargetUpdated=True}"
- Style="{DynamicResource MahApps.Styles.ToggleButton.Circle}">
- <materialDesign:PackIcon Width="18"
- Height="18"
- Kind="SineWave" />
- <b:Interaction.Triggers>
- <b:EventTrigger EventName="Click">
- <b:InvokeCommandAction Command="{Binding WaveShapeChangedCommand}"
- CommandParameter="4-2" />
- </b:EventTrigger>
- </b:Interaction.Triggers>
- </ToggleButton>
- <ToggleButton Width="30"
- Height="30"
- Margin="2,0"
- IsChecked="{Binding Motor4.WaveShape, Converter={StaticResource NoneWaveConverter}, ConverterParameter=2, Mode=TwoWay, NotifyOnTargetUpdated=True}"
- Style="{DynamicResource MahApps.Styles.ToggleButton.Circle}">
- <materialDesign:PackIcon Width="18"
- Height="18"
- Kind="SawtoothWave" />
- <b:Interaction.Triggers>
- <b:EventTrigger EventName="Click">
- <b:InvokeCommandAction Command="{Binding WaveShapeChangedCommand}"
- CommandParameter="4-3" />
- </b:EventTrigger>
- </b:Interaction.Triggers>
- </ToggleButton>
- <ToggleButton Width="30"
- Height="30"
- Margin="2,0"
- IsChecked="{Binding Motor4.WaveShape, Converter={StaticResource NoneWaveConverter}, ConverterParameter=3, Mode=TwoWay, NotifyOnTargetUpdated=True}"
- Style="{DynamicResource MahApps.Styles.ToggleButton.Circle}">
- <materialDesign:PackIcon Width="18"
- Height="18"
- Kind="TriangleWave" />
- <b:Interaction.Triggers>
- <b:EventTrigger EventName="Click">
- <b:InvokeCommandAction Command="{Binding WaveShapeChangedCommand}"
- CommandParameter="4-4" />
- </b:EventTrigger>
- </b:Interaction.Triggers>
- </ToggleButton>
- </StackPanel>
- </UniformGrid>
- </GroupBox>
- </UniformGrid>
- <GroupBox Grid.Row="2"
- Margin="4,0"
- Header="{lex:Loc 关于}">
- <Grid>
- <Grid.ColumnDefinitions>
- <ColumnDefinition Width="120" />
- <ColumnDefinition />
- </Grid.ColumnDefinitions>
- <mah:ToggleSwitch Width="100"
- Margin="4,0"
- IsOn="{Binding IsSyncChanging}"
- OffContent="{lex:Loc 不同步}"
- OnContent="{lex:Loc 同步}" />
- <StackPanel Grid.Column="1">
- <StackPanel Margin="0,0"
- HorizontalAlignment="Center"
- Orientation="Horizontal">
- <TextBlock Margin="0,0,8,0"
- VerticalAlignment="Center"
- Text="{lex:Loc 振幅}" />
- <Slider x:Name="AmplitudeSlider"
- MinWidth="400"
- Margin="0,0"
- Maximum="100"
- Minimum="0"
- TickPlacement="BottomRight"
- Value="{Binding CurrentAmplitude}">
- <b:Interaction.Triggers>
- <b:EventTrigger EventName="ValueChanged">
- <b:InvokeCommandAction Command="{Binding AmplitudeChangedCommand}" />
- </b:EventTrigger>
- </b:Interaction.Triggers>
- </Slider>
- </StackPanel>
- <StackPanel Margin="0,0"
- HorizontalAlignment="Center"
- Orientation="Horizontal">
- <TextBlock Margin="0,0,8,0"
- VerticalAlignment="Center"
- Text="{lex:Loc 频率}" />
- <Slider x:Name="FrequencySlider"
- MinWidth="400"
- Margin="0,0"
- FontSize="10"
- Maximum="100"
- Minimum="0"
- SmallChange="1"
- TickPlacement="TopLeft"
- ToolTip="MaterialDesignDiscreteSlider"
- Value="{Binding CurrentFrequency}">
- <b:Interaction.Triggers>
- <b:EventTrigger EventName="ValueChanged">
- <b:InvokeCommandAction Command="{Binding FrequencyChangedCommand}" />
- </b:EventTrigger>
- </b:Interaction.Triggers>
- </Slider>
- </StackPanel>
- </StackPanel>
- </Grid>
- </GroupBox>
- </Grid>
- </Viewbox>
-
- </UserControl>
|