Commit 783da53b authored by 潘栩锋's avatar 潘栩锋 🚴

优化 吹膜状态框加入旋转方向icon, 详细写顺时针,逆时针

parent a54dd60c
......@@ -201,10 +201,10 @@
<TextBlock>
<TextBlock.Style>
<Style TargetType="TextBlock" BasedOn="{StaticResource TextBlockStyle_FieldContent}">
<Setter Property="Text" Value="逆"/>
<Setter Property="Text" Value="逆时针"/>
<Style.Triggers>
<DataTrigger Binding="{Binding Direction}" Value="{x:Static misc:DIRECTION.BACKWARD}">
<Setter Property="Text" Value="顺"/>
<Setter Property="Text" Value="顺时针"/>
</DataTrigger>
</Style.Triggers>
</Style>
......
......@@ -5,7 +5,7 @@
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:local="clr-namespace:FLY.Thick.Blowing.UI.Fix.Client.UiModule"
xmlns:iservice="clr-namespace:FLY.Thick.Blowing.IService;assembly=FLY.Thick.Blowing"
xmlns:misc="clr-namespace:Misc;assembly=MISC"
xmlns:misc="clr-namespace:Misc;assembly=MISC" xmlns:iconPacks="http://metro.mahapps.com/winfx/xaml/iconpacks"
mc:Ignorable="d"
d:DesignWidth="250">
<UserControl.Resources>
......@@ -23,66 +23,80 @@
<Setter Property="Foreground" Value="#FF3B3B3B"/>
<Setter Property="Margin" Value="5,0"/>
</Style>
<local:DynAreaBlowingVmUt x:Key="viewModel" Direction="FORWARD" Angle="200"/>
<local:Angle2CWConverter x:Key="angle2cwConv"/>
</ResourceDictionary>
</UserControl.Resources>
<Button Name="Border_Blowing" Click="Border_Blowing_Click" Style="{StaticResource ButtonStyle_empty}" >
<Button Click="Border_Blowing_Click" Style="{StaticResource ButtonStyle_empty}" d:DataContext="{StaticResource viewModel}">
<StackPanel>
<Border Style="{StaticResource BorderStyle_module}" Name="Border_Width" >
<Border Style="{StaticResource BorderStyle_module}" >
<StackPanel Margin="2">
<StackPanel Orientation="Horizontal" Margin="2">
<TextBlock Text="线速度" FontSize="12" FontWeight="Bold" FontFamily="YouYuan" TextAlignment="Center" HorizontalAlignment="Center" Foreground="#FF3B3B3B" />
<StackPanel Orientation="Horizontal" Margin="5,0">
<TextBlock Text="{Binding FilmVelocity, StringFormat={}{0:F1}}" FontSize="24" FontFamily="Microsoft Sans Serif" TextAlignment="Center" HorizontalAlignment="Center" Foreground="{StaticResource Color_theme_activity}" />
<TextBlock Style="{StaticResource ResourceKey=TextBlockStyle_FieldContent_mm}" Text="m/min" FontSize="12" />
<TextBlock Style="{StaticResource TextBlockStyle_FieldContent_mm}" Text="m/min" FontSize="12" />
</StackPanel>
</StackPanel>
</StackPanel>
</Border>
<Border x:Name="border_bDetect" Style="{StaticResource BorderStyle_module}" >
<Border Style="{StaticResource BorderStyle_module}" >
<Grid Margin="5">
<Grid.ColumnDefinitions>
<ColumnDefinition/>
<ColumnDefinition Width="auto"/>
<ColumnDefinition Width="auto"/>
</Grid.ColumnDefinitions>
<Viewbox MaxWidth="130" Height="70">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition/>
<ColumnDefinition Width="auto"/>
</Grid.ColumnDefinitions>
<TextBlock FontWeight="Bold" FontFamily="Microsoft Sans Serif" Foreground="#FF3B3B3B" Text="{Binding Angle, StringFormat={}{0:F0}}" FontSize="50" VerticalAlignment="Center" />
<TextBlock Grid.Column="1" Text="°" FontSize="22" FontWeight="Bold" FontFamily="YouYuan" TextAlignment="Center" HorizontalAlignment="Center" Foreground="#FF3B3B3B" />
<Grid Grid.Column="1" >
<TextBlock FontSize="22" FontWeight="Bold" FontFamily="YouYuan" TextAlignment="Right" VerticalAlignment="Bottom" Foreground="#FF3B3B3B" >
<TextBlock.Style>
<Style TargetType="TextBlock">
<Setter Property="Text" Value="逆"/>
<Style.Triggers>
<DataTrigger Binding="{Binding Direction}" Value="{x:Static misc:DIRECTION.BACKWARD}">
<Setter Property="Text" Value="顺"/>
</DataTrigger>
</Style.Triggers>
</Style>
</TextBlock.Style>
</TextBlock>
</Grid>
</Grid>
</Viewbox>
<StackPanel Margin="2" Grid.Column="1">
<StackPanel Orientation="Horizontal" Margin="2">
<StackPanel Orientation="Horizontal" Background="Black">
<TextBlock Text="{Binding RenZiJiaPeriod, Converter={StaticResource ResourceKey=timespanconv}}" FontSize="24" FontFamily="Microsoft Sans Serif" TextAlignment="Center" HorizontalAlignment="Center" Foreground="White" />
<TextBlock Style="{StaticResource ResourceKey=TextBlockStyle_FieldContent_mm}" Text="min/R" FontSize="12" Foreground="White"/>
</StackPanel>
<Grid Margin="2">
<StackPanel Orientation="Horizontal" VerticalAlignment="Center" HorizontalAlignment="Center">
<TextBlock FontWeight="Bold" FontFamily="Microsoft Sans Serif" Foreground="#FF3B3B3B" Text="{Binding Angle, StringFormat={}{0:F0}}" FontSize="43" />
<TextBlock Text="°" FontSize="25" FontWeight="Bold" FontFamily="YouYuan" Foreground="#FF3B3B3B" />
</StackPanel>
</Grid>
<Grid Margin="-25,2,2,2" Grid.Column="1">
<iconPacks:PackIconMaterial
Width="35" Height="42" HorizontalAlignment="Right" VerticalAlignment="Top" Foreground="{StaticResource Color_theme_activity}" RenderTransformOrigin="0.5,0.583">
<iconPacks:PackIconMaterial.RenderTransform>
<TransformGroup>
<ScaleTransform/>
<SkewTransform/>
<RotateTransform Angle="{Binding Angle, Converter={StaticResource angle2cwConv}}"/>
<TranslateTransform/>
</TransformGroup>
</iconPacks:PackIconMaterial.RenderTransform>
<iconPacks:PackIconMaterial.Style>
<Style TargetType="iconPacks:PackIconMaterial">
<Setter Property="Kind" Value="RotateLeft"/>
<Style.Triggers>
<DataTrigger Binding="{Binding Direction}" Value="{x:Static misc:DIRECTION.BACKWARD}">
<Setter Property="Kind" Value="RotateRight"/>
</DataTrigger>
</Style.Triggers>
</Style>
</iconPacks:PackIconMaterial.Style>
</iconPacks:PackIconMaterial>
<TextBlock FontSize="18" FontWeight="Bold" FontFamily="YouYuan" TextAlignment="Right" VerticalAlignment="Bottom" Foreground="#FF3B3B3B" >
<TextBlock.Style>
<Style TargetType="TextBlock">
<Setter Property="Text" Value="逆时针"/>
<Style.Triggers>
<DataTrigger Binding="{Binding Direction}" Value="{x:Static misc:DIRECTION.BACKWARD}">
<Setter Property="Text" Value="顺时针"/>
</DataTrigger>
</Style.Triggers>
</Style>
</TextBlock.Style>
</TextBlock>
</Grid>
<StackPanel Margin="2" Grid.Column="2">
<StackPanel Orientation="Horizontal" Margin="2" Background="Black" >
<TextBlock Text="{Binding RenZiJiaPeriod, Converter={StaticResource timespanconv}}" FontSize="24" FontFamily="Microsoft Sans Serif" TextAlignment="Center" HorizontalAlignment="Center" Foreground="White" />
<TextBlock Style="{StaticResource TextBlockStyle_FieldContent_mm}" Text="min/R" FontSize="12" Foreground="White"/>
</StackPanel>
<StackPanel Orientation="Horizontal" Margin="2">
<StackPanel Orientation="Horizontal" Background="#FFE8E8E8">
<TextBlock Text="{Binding PastTime, Converter={StaticResource ResourceKey=timespanconv}, Mode=OneWay}" FontSize="24" FontFamily="Microsoft Sans Serif" TextAlignment="Center" HorizontalAlignment="Center" Foreground="Black" />
<TextBlock Style="{StaticResource ResourceKey=TextBlockStyle_FieldContent_mm}" Text="min" FontSize="12" Foreground="Black"/>
</StackPanel>
<StackPanel Orientation="Horizontal" Margin="2" Background="#FFE8E8E8">
<TextBlock Text="{Binding PastTime, Converter={StaticResource timespanconv}, Mode=OneWay}" FontSize="24" FontFamily="Microsoft Sans Serif" TextAlignment="Center" HorizontalAlignment="Center" Foreground="Black" />
<TextBlock Style="{StaticResource TextBlockStyle_FieldContent_mm}" Text="min" FontSize="12" Foreground="Black"/>
</StackPanel>
</StackPanel>
......
using FLY.Thick.Base.IService;
using FLY.Thick.Blowing.IService;
using MathNet.Numerics;
using MultiLayout;
using MultiLayout.UiModule;
using System;
using System.ComponentModel;
using System.Globalization;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Navigation;
using Unity;
......@@ -14,8 +19,8 @@ namespace FLY.Thick.Blowing.UI.Fix.Client.UiModule
/// </summary>
public partial class DynAreaBlowing : UserControl
{
IBlowingFixService blowingFixService;
IBlowingDetectService blowingDetectService;
//IBlowingFixService blowingFixService;
//IBlowingDetectService blowingDetectService;
IUnityContainer container;
public DynAreaBlowing()
{
......@@ -25,17 +30,17 @@ namespace FLY.Thick.Blowing.UI.Fix.Client.UiModule
[InjectionMethod]
public void Init(
IUnityContainer container,
IBlowingService blowingFixService,
//IBlowingService blowingFixService,
IBlowingDetectService blowingDetectService)
{
this.container = container;
this.blowingFixService = (IBlowingFixService)blowingFixService;
this.blowingDetectService = blowingDetectService;
Border_Blowing.DataContext = blowingFixService;
border_bDetect.DataContext = blowingDetectService;
Border_Width.DataContext = blowingDetectService;
//this.blowingFixService = (IBlowingFixService)blowingFixService;
//this.blowingDetectService = blowingDetectService;
this.DataContext = blowingDetectService;
//Border_Blowing.DataContext = blowingFixService;
//border_bDetect.DataContext = blowingDetectService;
//Border_Width.DataContext = blowingDetectService;
}
private void Border_Blowing_Click(object sender, RoutedEventArgs e)
......@@ -44,7 +49,16 @@ namespace FLY.Thick.Blowing.UI.Fix.Client.UiModule
MultiLayout.FlyLayoutManager.NavigationService.Navigate(p);
}
}
public class DynAreaBlowingVmUt : INotifyPropertyChanged
{
public event PropertyChangedEventHandler PropertyChanged;
public double Angle { get; set; } = -170.2;
public Misc.DIRECTION Direction { get; set; } = Misc.DIRECTION.FORWARD;
public TimeSpan RenZiJiaPeriod { get; set; } = TimeSpan.FromMinutes(12.3);
public TimeSpan PastTime { get; set; } = TimeSpan.FromMinutes(3.3);
public double FilmVelocity { get; set; } = 50.1;
}
public class UiModule2_DynAreaBlowing : MultiLayout.UiModule.IUiModule2
{
/// <summary>
......@@ -87,4 +101,31 @@ namespace FLY.Thick.Blowing.UI.Fix.Client.UiModule
}
}
public class Angle2CWConverter : IValueConverter
{
#region IValueConverter 成员
public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
if (!(value is double)
&& !(value is int)
) {
return null;
}
int angle = System.Convert.ToInt32(value);
return -angle;
}
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
throw new NotImplementedException();
}
#endregion
}
}
......@@ -60,6 +60,9 @@
<ColumnDefinition Width="280*"/>
</Grid.ColumnDefinitions>
<uimodule:PolarChart x:Name="graph" Grid.Row="1" Grid.ColumnSpan="3" />
<TextBlock Grid.Row="1" Grid.ColumnSpan="3" VerticalAlignment="Bottom" HorizontalAlignment="Right" Margin="5" Foreground="{StaticResource Color_theme_noact}">
备注:外薄内厚
</TextBlock>
<Button Style="{StaticResource ButtonStyle_icon}" Margin="0,0,0,-20"
Click="Button_info_click" >
<Grid Style="{StaticResource GridStyle_ButtonShadow}" >
......
......@@ -201,10 +201,10 @@
<TextBlock>
<TextBlock.Style>
<Style TargetType="TextBlock" BasedOn="{StaticResource TextBlockStyle_FieldContent}">
<Setter Property="Text" Value="逆"/>
<Setter Property="Text" Value="逆时针"/>
<Style.Triggers>
<DataTrigger Binding="{Binding Direction}" Value="{x:Static misc:DIRECTION.BACKWARD}">
<Setter Property="Text" Value="顺"/>
<Setter Property="Text" Value="顺时针"/>
</DataTrigger>
</Style.Triggers>
</Style>
......
......@@ -3,7 +3,7 @@
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:misc="clr-namespace:Misc;assembly=MISC"
xmlns:misc="clr-namespace:Misc;assembly=MISC" xmlns:iconPacks="http://metro.mahapps.com/winfx/xaml/iconpacks" xmlns:local="clr-namespace:FLY.Thick.Blowing.UI.Fix.Client.UiModule;assembly=FLY.Thick.Blowing.UI"
mc:Ignorable="d"
d:DesignWidth="250">
<UserControl.Resources>
......@@ -21,55 +21,71 @@
<Setter Property="Foreground" Value="#FF3B3B3B"/>
<Setter Property="Margin" Value="5,0"/>
</Style>
<local:DynAreaBlowingVmUt x:Key="viewModel" Direction="BACKWARD" Angle="120"/>
<local:Angle2CWConverter x:Key="angle2cwConv"/>
</ResourceDictionary>
</UserControl.Resources>
<Button Name="Border_Blowing" Click="Border_Blowing_Click" Style="{StaticResource ButtonStyle_empty}" >
<Button Click="Border_Blowing_Click" Style="{StaticResource ButtonStyle_empty}" d:DataContext="{StaticResource viewModel}">
<StackPanel>
<Border x:Name="border_bDetect" Style="{StaticResource BorderStyle_module}" >
<Border Style="{StaticResource BorderStyle_module}" >
<Grid Margin="5">
<Grid.ColumnDefinitions>
<ColumnDefinition/>
<ColumnDefinition Width="auto"/>
<ColumnDefinition Width="auto"/>
</Grid.ColumnDefinitions>
<Viewbox MaxWidth="130" Height="70">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition/>
<ColumnDefinition Width="auto"/>
</Grid.ColumnDefinitions>
<TextBlock FontWeight="Bold" FontFamily="Microsoft Sans Serif" Foreground="#FF3B3B3B" Text="{Binding Angle, StringFormat={}{0:F0}}" FontSize="50" VerticalAlignment="Center" />
<TextBlock Grid.Column="1" Text="°" FontSize="22" FontWeight="Bold" FontFamily="YouYuan" TextAlignment="Center" HorizontalAlignment="Center" Foreground="#FF3B3B3B" />
<Grid Grid.Column="1" >
<TextBlock FontSize="22" FontWeight="Bold" FontFamily="YouYuan" TextAlignment="Right" VerticalAlignment="Bottom" Foreground="#FF3B3B3B" >
<TextBlock.Style>
<Style TargetType="TextBlock">
<Setter Property="Text" Value="逆"/>
<Style.Triggers>
<DataTrigger Binding="{Binding Direction}" Value="{x:Static misc:DIRECTION.BACKWARD}">
<Setter Property="Text" Value="顺"/>
</DataTrigger>
</Style.Triggers>
</Style>
</TextBlock.Style>
</TextBlock>
</Grid>
</Grid>
</Viewbox>
<StackPanel Margin="2" Grid.Column="1">
<StackPanel Orientation="Horizontal" Margin="2">
<StackPanel Orientation="Horizontal" Background="Black">
<TextBlock Text="{Binding RenZiJiaPeriod, Converter={StaticResource ResourceKey=timespanconv}}" FontSize="24" FontFamily="Microsoft Sans Serif" TextAlignment="Center" HorizontalAlignment="Center" Foreground="White" />
<TextBlock Style="{StaticResource ResourceKey=TextBlockStyle_FieldContent_mm}" Text="min/R" FontSize="12" Foreground="White"/>
</StackPanel>
<Grid Margin="2">
<StackPanel Orientation="Horizontal" VerticalAlignment="Center" HorizontalAlignment="Center">
<TextBlock FontWeight="Bold" FontFamily="Microsoft Sans Serif" Foreground="#FF3B3B3B" Text="{Binding Angle, StringFormat={}{0:F0}}" FontSize="43" />
<TextBlock Text="°" FontSize="25" FontWeight="Bold" FontFamily="YouYuan" Foreground="#FF3B3B3B" />
</StackPanel>
</Grid>
<Grid Margin="-25,2,2,2" Grid.Column="1">
<iconPacks:PackIconMaterial Width="35" Height="Auto" HorizontalAlignment="Right" VerticalAlignment="Stretch" Foreground="{StaticResource Color_theme_activity}"
RenderTransformOrigin="0.5,0.583" Margin="0,0,0,20">
<iconPacks:PackIconMaterial.RenderTransform>
<TransformGroup>
<ScaleTransform/>
<SkewTransform/>
<RotateTransform Angle="{Binding Angle, Converter={StaticResource angle2cwConv}}"/>
<TranslateTransform/>
</TransformGroup>
</iconPacks:PackIconMaterial.RenderTransform>
<iconPacks:PackIconMaterial.Style>
<Style TargetType="iconPacks:PackIconMaterial">
<Setter Property="Kind" Value="RotateLeft"/>
<Style.Triggers>
<DataTrigger Binding="{Binding Direction}" Value="{x:Static misc:DIRECTION.BACKWARD}">
<Setter Property="Kind" Value="RotateRight"/>
</DataTrigger>
</Style.Triggers>
</Style>
</iconPacks:PackIconMaterial.Style>
</iconPacks:PackIconMaterial>
<TextBlock FontSize="18" FontWeight="Bold" FontFamily="YouYuan" TextAlignment="Right" VerticalAlignment="Bottom" Foreground="#FF3B3B3B" >
<TextBlock.Style>
<Style TargetType="TextBlock">
<Setter Property="Text" Value="逆时针"/>
<Style.Triggers>
<DataTrigger Binding="{Binding Direction}" Value="{x:Static misc:DIRECTION.BACKWARD}">
<Setter Property="Text" Value="顺时针"/>
</DataTrigger>
</Style.Triggers>
</Style>
</TextBlock.Style>
</TextBlock>
</Grid>
<StackPanel Margin="2" Grid.Column="2">
<StackPanel Orientation="Horizontal" Margin="2" Background="Black" >
<TextBlock Text="{Binding RenZiJiaPeriod, Converter={StaticResource timespanconv}}" FontSize="24" FontFamily="Microsoft Sans Serif" TextAlignment="Center" HorizontalAlignment="Center" Foreground="White" />
<TextBlock Style="{StaticResource TextBlockStyle_FieldContent_mm}" Text="min/R" FontSize="12" Foreground="White"/>
</StackPanel>
<StackPanel Orientation="Horizontal" Margin="2">
<StackPanel Orientation="Horizontal" Background="#FFE8E8E8">
<TextBlock Text="{Binding PastTime, Converter={StaticResource ResourceKey=timespanconv}, Mode=OneWay}" FontSize="24" FontFamily="Microsoft Sans Serif" TextAlignment="Center" HorizontalAlignment="Center" Foreground="Black" />
<TextBlock Style="{StaticResource ResourceKey=TextBlockStyle_FieldContent_mm}" Text="min" FontSize="12" Foreground="Black"/>
</StackPanel>
<StackPanel Orientation="Horizontal" Margin="2" Background="#FFE8E8E8">
<TextBlock Text="{Binding PastTime, Converter={StaticResource timespanconv}, Mode=OneWay}" FontSize="24" FontFamily="Microsoft Sans Serif" TextAlignment="Center" HorizontalAlignment="Center" Foreground="Black" />
<TextBlock Style="{StaticResource TextBlockStyle_FieldContent_mm}" Text="min" FontSize="12" Foreground="Black"/>
</StackPanel>
</StackPanel>
......
......@@ -24,16 +24,12 @@ namespace FLY.Thick.BlowingScan.UI.Client.UiModule
[InjectionMethod]
public void Init(
IUnityContainer container,
IBlowingService blowingScanService,
IBlowingDetectService blowingDetectService)
{
this.container = container;
this.blowingScanService = (IBlowingScanService)blowingScanService;
this.blowingDetectService = blowingDetectService;
Border_Blowing.DataContext = this.blowingScanService;
border_bDetect.DataContext = this.blowingDetectService;
this.DataContext = blowingDetectService;
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment