using System; using System.Collections.Generic; using System.Diagnostics; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows; using System.Windows.Controls; using System.Windows.Data; using System.Windows.Documents; using System.Windows.Input; using System.Windows.Media; using System.Windows.Media.Imaging; using System.Windows.Navigation; using System.Windows.Shapes; using Tango.BL; using Tango.BL.Entities; using Tango.Core.DI; using Tango.PPC.Jobs.ViewContracts; using Tango.PPC.Jobs.ViewModels; using static Tango.SharedUI.Controls.NavigationControl; namespace Tango.PPC.Jobs.Views { /// /// Interaction logic for JobView.xaml /// public partial class JobView : UserControl, INavigationView, IJobView { private JobViewVM _vm; private bool _is_edit_docked; public JobView() { InitializeComponent(); Loaded += (_, __) => { _vm = DataContext as JobViewVM; }; TangoIOC.Default.Register(this); } public void OnNavigatedTo() { } private void OnBrushStopFieldValueChanged(object sender, Touch.Controls.DoubleValueChangedEventArgs e) { _vm.OnBrushStopFieldValueChanged((sender as FrameworkElement).DataContext as BrushStop); } public async void DisplaySampleDye() { //expander_sample_dye.IsExpanded = true; //await Task.Delay(500); //scrollViewer.ScrollToElement(expander_sample_dye); } public async void DisplayFineTuning() { //expander_fine_tuning.IsExpanded = true; //await Task.Delay(500); //scrollViewer.ScrollToElement(expander_fine_tuning); } public void OnNavigatedFrom() { } private void scrollViewer_Scrolling(object sender, Touch.Controls.DoubleValueChangedEventArgs e) { if (_vm.Job != null && _vm.Job.Segments != null && _vm.Job.Segments.Count > 3) { var position = scrollViewer.GetElementPosition(listSegments); var stackOutputPosition = scrollViewer.GetElementPosition(stackOutput); if (stackOutputPosition.Y > 100) { if (position.Y < 110 && !_is_edit_docked) { DockEditing(); } else if (position.Y > 110 && _is_edit_docked) { FloatEditing(); } } else { borderEditDock.Visibility = Visibility.Collapsed; } } else if (_is_edit_docked) { FloatEditing(); } } private void DockEditing() { _is_edit_docked = true; borderDockFloat.Child = null; borderEditDock.Child = dockEdit; borderEditDock.Visibility = Visibility.Visible; } private void FloatEditing() { _is_edit_docked = false; borderEditDock.Child = null; borderDockFloat.Child = dockEdit; borderEditDock.Visibility = Visibility.Collapsed; } private void OnLiquidVolumeFieldValueChanged(object sender, Touch.Controls.DoubleValueChangedEventArgs e) { var liquidVolume = (sender as FrameworkElement).DataContext as LiquidVolume; if (liquidVolume != null) { _vm.OnBrushStopFieldValueChanged(liquidVolume.BrushStop); } } public void ScrollToTop() { FloatEditing(); scrollViewer.ScrollToTop(); } } }