Newer
Older
Correlator / PipeGallery / View / SelectPipeRangeView.xaml.cs
using PipeGallery.Correlator;
using PipeGallery.Manage;
using PipeGallery.Model;
using PipeGallery.ViewModel;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
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;

namespace PipeGallery.View
{
    /// <summary>
    /// SelectPipeRangeView.xaml 的交互逻辑
    /// </summary>
    public partial class SelectPipeRangeView : UserControl
    {
        string _materialName = string.Empty;
        public SelectPipeRangeView(string materialName)
        {
            InitializeComponent();
            SelectPipeRangeViewModel.PipeMaterialName = PipeGallery.Correlator.CalculteSatus.MaterialData;
            PipeGallery.Correlator.CorrelatorDataSaveThread.initMaterialVeloMaps();

			SelectPipeRangeViewModel.Instance.InitData();
            DataFactory.InitalPipeRangeData(materialName);

            this.DataContext = SelectPipeRangeViewModel.Instance;   
            this.btnReturn.Click += btnReturn_Click;
            _materialName = materialName;
            rMaterialName.Text = _materialName;
        }

        void btnReturn_Click(object sender, RoutedEventArgs e)
        {
            SelectPipeMaterialView selectPipeMaterialView = new SelectPipeMaterialView();
            Global.GetMainView().bdrPreposition.Child = selectPipeMaterialView;
        }

        private void rb_MouseDoubleClick(object sender, RoutedEventArgs e)
        {
            RadioButton radioButton = sender as RadioButton;
            if (radioButton != null)
            {
                Border bdr = this.Parent as Border;
                if (bdr != null)
                {
                    PipeRangeInfo pipeRangeInfo = radioButton.DataContext as PipeRangeInfo;

                    CalculteSatus.diameterData = pipeRangeInfo.Range;
                    string diameter = pipeRangeInfo.Range;
                    if (diameter.IndexOf("+") == -1)//1000+mm
                    {
                        diameter = diameter.Remove(diameter.IndexOf("mm"));
                    }
                    else
                    {
                        diameter = diameter.Remove(diameter.IndexOf("+mm"));
                    }
                    string[] diameterArr = diameter.Split('-');

                    CalculteSatus.lowDiameter = int.Parse(diameterArr[0]);
                    CalculteSatus.highDiameter = diameterArr.Length == 2 ? int.Parse(diameterArr[1]) : -1;

                    PipeLengthEditView pipeLengthEditView = new PipeLengthEditView(_materialName);
                    bdr.Child = pipeLengthEditView;
                }
            }
        }
    }
}