luo 9 месяцев назад
Родитель
Сommit
d72db3d74d

+ 4 - 4
ShakerControl/App.xaml

@@ -341,8 +341,8 @@
             </Style>
             <Style
                 x:Key="ComboBoxStyle1"
-                BasedOn="{StaticResource InputElementBaseStyle}"
-                TargetType="{x:Type ComboBox}">
+                TargetType="{x:Type ComboBox}"
+                BasedOn="{StaticResource InputElementBaseStyle}">
                 <Setter Property="ItemContainerStyle" Value="{StaticResource ComboBoxItemBaseStyle1}" />
                 <Setter Property="ScrollViewer.HorizontalScrollBarVisibility" Value="Auto" />
                 <Setter Property="ScrollViewer.VerticalScrollBarVisibility" Value="Auto" />
@@ -360,8 +360,8 @@
             </Style>
             <Style
                 x:Key="PowerAmplifierButtonStyle"
-                BasedOn="{StaticResource ButtonIcon}"
-                TargetType="Button">
+                TargetType="Button"
+                BasedOn="{StaticResource ButtonIcon}">
                 <Style.Triggers>
                     <Trigger Property="IsMouseOver" Value="True">
                         <Setter Property="Foreground" Value="CadetBlue" />

+ 51 - 9
ShakerControl/View/MainPage/MainPageView.xaml

@@ -229,9 +229,23 @@
                             hc:IconElement.Geometry="{StaticResource PowerAmplifierStart}"
                             Command="{Binding ShakerControl.PowerAmplifier.StartCommand}"
                             Cursor="Hand"
-                            IsEnabled="{Binding ShakerControl.PowerAmplifier.Start, Converter={StaticResource Boolean2BooleanReConverter}}"
-                            Style="{StaticResource PowerAmplifierButtonStyle}"
-                            ToolTip="启动" />
+                            ToolTip="启动">
+                            <Button.Style>
+                                <Style TargetType="Button" BasedOn="{StaticResource PowerAmplifierButtonStyle}">
+                                    <Style.Triggers>
+                                        <DataTrigger Binding="{Binding Path=ShakerControl.OperatingStatus}" Value="{x:Static model:OperatingStatus.Run}">
+                                            <Setter Property="IsEnabled" Value="False" />
+                                        </DataTrigger>
+                                        <DataTrigger Binding="{Binding Path=ShakerControl.OperatingStatus}" Value="{x:Static model:OperatingStatus.Wait}">
+                                            <Setter Property="IsEnabled" Value="True" />
+                                        </DataTrigger>
+                                        <DataTrigger Binding="{Binding Path=ShakerControl.OperatingStatus}" Value="{x:Static model:OperatingStatus.Warn}">
+                                            <Setter Property="IsEnabled" Value="False" />
+                                        </DataTrigger>
+                                    </Style.Triggers>
+                                </Style>
+                            </Button.Style>
+                        </Button>
                     </StackPanel>
                     <StackPanel>
                         <TextBlock
@@ -248,9 +262,23 @@
                             hc:IconElement.Geometry="{StaticResource PowerAmplifierStop}"
                             Command="{Binding ShakerControl.PowerAmplifier.StopCommand}"
                             Cursor="Hand"
-                            IsEnabled="{Binding ShakerControl.PowerAmplifier.Start}"
-                            Style="{StaticResource PowerAmplifierButtonStyle}"
-                            ToolTip="停止" />
+                            ToolTip="停止">
+                            <Button.Style>
+                                <Style TargetType="Button" BasedOn="{StaticResource PowerAmplifierButtonStyle}">
+                                    <Style.Triggers>
+                                        <DataTrigger Binding="{Binding Path=ShakerControl.OperatingStatus}" Value="{x:Static model:OperatingStatus.Run}">
+                                            <Setter Property="IsEnabled" Value="True" />
+                                        </DataTrigger>
+                                        <DataTrigger Binding="{Binding Path=ShakerControl.OperatingStatus}" Value="{x:Static model:OperatingStatus.Wait}">
+                                            <Setter Property="IsEnabled" Value="False" />
+                                        </DataTrigger>
+                                        <DataTrigger Binding="{Binding Path=ShakerControl.OperatingStatus}" Value="{x:Static model:OperatingStatus.Warn}">
+                                            <Setter Property="IsEnabled" Value="False" />
+                                        </DataTrigger>
+                                    </Style.Triggers>
+                                </Style>
+                            </Button.Style>
+                        </Button>
                     </StackPanel>
                     <StackPanel>
                         <TextBlock
@@ -267,9 +295,23 @@
                             hc:IconElement.Geometry="{StaticResource PowerAmplifierReset}"
                             Command="{Binding ShakerControl.PowerAmplifier.ResetCommand}"
                             Cursor="Hand"
-                            IsEnabled="{Binding ShakerControl.PowerAmplifier.Start, Converter={StaticResource Boolean2BooleanReConverter}}"
-                            Style="{StaticResource PowerAmplifierButtonStyle}"
-                            ToolTip="报警复位" />
+                            ToolTip="报警复位">
+                            <Button.Style>
+                                <Style TargetType="Button" BasedOn="{StaticResource PowerAmplifierButtonStyle}">
+                                    <Style.Triggers>
+                                        <DataTrigger Binding="{Binding Path=ShakerControl.OperatingStatus}" Value="{x:Static model:OperatingStatus.Run}">
+                                            <Setter Property="IsEnabled" Value="False" />
+                                        </DataTrigger>
+                                        <DataTrigger Binding="{Binding Path=ShakerControl.OperatingStatus}" Value="{x:Static model:OperatingStatus.Wait}">
+                                            <Setter Property="IsEnabled" Value="False" />
+                                        </DataTrigger>
+                                        <DataTrigger Binding="{Binding Path=ShakerControl.OperatingStatus}" Value="{x:Static model:OperatingStatus.Warn}">
+                                            <Setter Property="IsEnabled" Value="True" />
+                                        </DataTrigger>
+                                    </Style.Triggers>
+                                </Style>
+                            </Button.Style>
+                        </Button>
                     </StackPanel>
                 </UniformGrid>
             </Grid>

+ 0 - 10
ShakerControl/ViewModel/Log/LogViewModel.cs

@@ -42,15 +42,5 @@ namespace ShakerControl.ViewModel.Log
         public ObservableCollection<LogItemViewModel> Logs { get; } = new ObservableCollection<LogItemViewModel>();
         public override Type View { get; } = typeof(View.Log.LogView);
     }
-    internal class LogItemViewModel : ViewModelBase<LogModel>
-    {
-        public LogItemViewModel(LogModel model)
-        {
-            UpDateModel(model);
-        }
-        public DateTime DateTime => Model.DateTime;
-        public string Message => Model.Message;
-        public LogType LogType => Model.LogType;
 
-    }
 }