Skip to content

Commit

Permalink
add color animation
Browse files Browse the repository at this point in the history
  • Loading branch information
KerlyJiang1 committed Nov 30, 2019
1 parent 513c462 commit 7129803
Show file tree
Hide file tree
Showing 3 changed files with 135 additions and 16 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -3,18 +3,27 @@
// Licensed under the GPLv3 license. See LICENSE file in the project root for full license information.
// </copyright>

using GeothermalResearchInstitute.v2;
using Prism.Mvvm;

namespace GeothermalResearchInstitute.Wpf.ViewModels
{
public class DeviceControlViewModel : BindableBase
{
private ViewModelContext viewModelContext;
private Switch switchInfo;


public ViewModelContext ViewModelContext
{
get => this.viewModelContext;
set => this.SetProperty(ref this.viewModelContext, value);
}

public Switch Switch
{
get => this.switchInfo;
set => this.SetProperty(ref this.switchInfo, value);
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -131,7 +131,63 @@
Canvas.Top="293"
Width="10"
Height="10"
Fill="#FF2E2EE4" />
Fill="#FF2E2EE4" >
<Ellipse.Style>
<Style>
<Style.Triggers>
<DataTrigger Binding="{Binding Switch.HeaterPowerOn}" Value="true">
<DataTrigger.EnterActions>
<BeginStoryboard>
<Storyboard>
<ColorAnimation Storyboard.TargetProperty="(Ellipse.Fill).(SolidColorBrush.Color)"
To="#CD0000" From="#FF2E2EE4" Duration="0:0:0.5" AutoReverse="True" RepeatBehavior="Forever" />
</Storyboard>
</BeginStoryboard>
</DataTrigger.EnterActions>
<DataTrigger.ExitActions>
<BeginStoryboard>
<Storyboard>
<ColorAnimation Storyboard.TargetProperty="(Ellipse.Fill).(SolidColorBrush.Color)"
To="#FF2E2EE4" Duration="0:0:0" />
</Storyboard>
</BeginStoryboard>
</DataTrigger.ExitActions>
</DataTrigger>
</Style.Triggers>
</Style>
</Ellipse.Style>
</Ellipse>
<Ellipse
Canvas.Left="153"
Canvas.Top="72"
Width="10"
Height="10"
Fill="#FF2E2EE4" >
<Ellipse.Style>
<Style>
<Style.Triggers>
<DataTrigger Binding="{Binding Switch.HeaterCompressorOn}" Value="true">
<DataTrigger.EnterActions>
<BeginStoryboard>
<Storyboard>
<ColorAnimation Storyboard.TargetProperty="(Ellipse.Fill).(SolidColorBrush.Color)"
To="#CD0000" From="#FF2E2EE4" Duration="0:0:0.5" AutoReverse="True" RepeatBehavior="Forever" />
</Storyboard>
</BeginStoryboard>
</DataTrigger.EnterActions>
<DataTrigger.ExitActions>
<BeginStoryboard>
<Storyboard>
<ColorAnimation Storyboard.TargetProperty="(Ellipse.Fill).(SolidColorBrush.Color)"
To="#FF2E2EE4" Duration="0:0:0" />
</Storyboard>
</BeginStoryboard>
</DataTrigger.ExitActions>
</DataTrigger>
</Style.Triggers>
</Style>
</Ellipse.Style>
</Ellipse>
<Image
Canvas.Left="360"
Canvas.Top="180"
Expand All @@ -141,19 +197,36 @@
<Image.RenderTransform>
<RotateTransform CenterX="10" CenterY="10" />
</Image.RenderTransform>
<Image.Triggers>
<EventTrigger RoutedEvent="Loaded">
<BeginStoryboard>
<Storyboard>
<DoubleAnimation
RepeatBehavior="Forever"
Storyboard.TargetProperty="(Image.RenderTransform).(RotateTransform.Angle)"
To="360"
Duration="0:0:1" />
</Storyboard>
</BeginStoryboard>
</EventTrigger>
</Image.Triggers>
<Image.Style>
<Style TargetType="Image">
<Style.Triggers>
<DataTrigger Binding="{Binding Switch.HeaterFanOn}" Value="true">
<DataTrigger.EnterActions>
<BeginStoryboard>
<Storyboard>
<DoubleAnimation
RepeatBehavior="Forever"
Storyboard.TargetProperty="(Image.RenderTransform).(RotateTransform.Angle)"
To="360"
Duration="0:0:1" />
</Storyboard>
</BeginStoryboard>
</DataTrigger.EnterActions>
<DataTrigger.ExitActions>
<BeginStoryboard>
<Storyboard>
<DoubleAnimation
Storyboard.TargetProperty="(Image.RenderTransform).(RotateTransform.Angle)"
Duration="0:0:0" />
</Storyboard>
</BeginStoryboard>
</DataTrigger.ExitActions>
</DataTrigger>
</Style.Triggers>

</Style>

</Image.Style>
</Image>
<StackPanel
Canvas.Left="330"
Expand All @@ -162,11 +235,13 @@
<Button
Margin="5"
Padding="5"
Content="" />
Content=""
Click="On_Click"/>
<Button
Margin="5"
Padding="5"
Content="" />
Content=""
Click="Off_Click"/>
</StackPanel>
<StackPanel
Canvas.Left="330"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@

using System.Windows;
using System.Windows.Controls;
using GeothermalResearchInstitute.v2;
using GeothermalResearchInstitute.Wpf.ViewModels;
using Prism.Common;
using Prism.Regions;
Expand Down Expand Up @@ -34,6 +35,40 @@ private void DeviceControlView_Loaded(object sender, RoutedEventArgs e)
viewModelContext.UserBarVisibility = Visibility.Visible;
viewModelContext.BannerVisibility = Visibility.Visible;
viewModelContext.Title = "运行控制"; // TODO: From resource.

Switch switchObj = new Switch()
{
HeaterFanOn = false,
HeaterPowerOn = true,
HeaterCompressorOn = true,
};
this.ViewModel.Switch = switchObj;
Switch switchInfo = this.ViewModel.Switch;
}

//for test
private void On_Click(object sender, RoutedEventArgs e)
{
Switch switchObj = new Switch()
{
HeaterFanOn = true,
HeaterPowerOn = true,
HeaterCompressorOn = true,
};
this.ViewModel.Switch = switchObj;
Switch switchInfo = this.ViewModel.Switch;
}

private void Off_Click(object sender, RoutedEventArgs e)
{
Switch switchObj = new Switch()
{
HeaterFanOn = false,
HeaterPowerOn = false,
HeaterCompressorOn = false,
};
this.ViewModel.Switch = switchObj;
Switch switchInfo = this.ViewModel.Switch;
}
}
}

0 comments on commit 7129803

Please sign in to comment.