using FLY.Thick.Blowing.IService;
using FLY.Thick.Blowing360.IService;
using MultiLayout.UiModule;
using System;
using System.ComponentModel;
using System.Globalization;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using Unity;
namespace FLY.Thick.Blowing360.UI.UiModule
{
///
/// DynAreaBlowing.xaml 的交互逻辑
///
public partial class DynAreaBlowing : UserControl
{
IBlowingService blowingService;
IBlowingDetectService blowingDetectService;
IUnityContainer container;
public DynAreaBlowing()
{
InitializeComponent();
}
[InjectionMethod]
public void Init(
IUnityContainer container,
IBlowingService blowingService,
IBlowingDetectService blowingDetectService
)
{
this.container = container;
this.blowingService = blowingService;
this.blowingDetectService = blowingDetectService;
this.DataContext = blowingDetectService;
}
private void Border_Blowing_Click(object sender, RoutedEventArgs e)
{
var p = container.Resolve();
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
{
///
/// 控件标题
/// 它的值取决于culture
///
public string Title => "测厚.吹膜状态";
public ComponentType Type => ComponentType.DynArea;
public bool IsUnique => true;
///
/// 控件
/// 创建时,需要给它唯一ID,让加载自己的数据
///
///
///
public FrameworkElement GetComponent(int id, IUnityContainer container)
{
return container.Resolve();
}
///
/// 控件缩略图,用于编辑界面时,大致看看
/// 创建时,需要给它唯一ID,让加载自己的数据
///
///
///
public FrameworkElement GetThumbnail()
{
return new System.Windows.Controls.Grid();
}
///
/// 给出全部控件ID, 控件自行删除没有的参数
///
///
public void MatchParam(int[] IDs)
{
}
}
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
}
}