Newer
Older
Correlator / PipeGallery / View / SelectPipeRangeView.xaml.cs
using System.Windows;
using System.Windows.Controls;
using PipeGallery.Correlator;
using PipeGallery.Manage;
using PipeGallery.Model;
using PipeGallery.ViewModel;

namespace PipeGallery.View
{
    /// <summary>
    /// SelectPipeRangeView.xaml 的交互逻辑
    /// </summary>
    public partial class SelectPipeRangeView : UserControl
    {
        string _materialName = string.Empty;

        public SelectPipeRangeView(string materialName)
        {
            InitializeComponent();
            SelectPipeRangeViewModel.PipeMaterialName = CalculteSatus.MaterialData;
            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;
                }
            }
        }
    }
}