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> /// SelectPipeMaterialView.xaml 的交互逻辑 /// </summary> public partial class SelectPipeMaterialView : UserControl { public SelectPipeMaterialView() { InitializeComponent(); SelectPipeMaterialViewModel.Instance.InitData(); PipeGallery.Correlator.PipeMaterial.Init(); DataFactory.InitalCustomizedPipeMaterialData(); this.DataContext = SelectPipeMaterialViewModel.Instance; this.Loaded += SelectPipeMaterialView_Loaded; this.btnReturn.Click += btnReturn_Click; this.btnEditName.Click += btnEditName_Click; this.btnEditSoundSpeed.Click += btnEditSoundSpeed_Click; } void btnEditSoundSpeed_Click(object sender, RoutedEventArgs e) { Border bdr = this.Parent as Border; if (bdr != null) { bdr.Child = null; } foreach (var v in SelectPipeMaterialViewModel.Instance.PipeMaterialInfos) { if (v.IsSelected) { SoundSpeedView soundSpeedEditView = new SoundSpeedView(v.ID); Global.GetMainView().bdrMain.Child = soundSpeedEditView; ; } } } void btnEditName_Click(object sender, RoutedEventArgs e) { foreach (var v in SelectPipeMaterialViewModel.Instance.PipeMaterialInfos) { if (v.IsSelected) { EditNameView editNameView = new EditNameView(v.ID,v.Name); Global.GetMainView().bdrPreposition.Child = editNameView; } } } void btnReturn_Click(object sender, RoutedEventArgs e) { CalculteSatus.MaterialDatas.Clear(); Border bdr = this.Parent as Border; if (bdr != null) { bdr.Child = null; } } void SelectPipeMaterialView_Loaded(object sender, RoutedEventArgs e) { String txt = " "; foreach (PipeMaterialData pipeMaterialData in CalculteSatus.MaterialDatas) { txt += pipeMaterialData.Diameter + "mm," + pipeMaterialData.Length + "m" + pipeMaterialData.Material + "\r "; } this.txtPipeLine.Text = txt; } private void rb_MouseDoubleClick(object sender, MouseButtonEventArgs e) { RadioButton radioButton = sender as RadioButton; if (radioButton != null) { Border bdr = this.Parent as Border; if (bdr != null) { PipeMaterialInfo pipeMaterialInfo = radioButton.DataContext as PipeMaterialInfo; //这里可获取管道材质,传递给SelectPipeRangeView if (pipeMaterialInfo != null) { CalculteSatus.MaterialData = pipeMaterialInfo.Name; //SelectPipeRangeView selectPipeRangeView = new SelectPipeRangeView(pipeMaterialInfo.Name); //bdr.Child = selectPipeRangeView; PipeDiameterEditView pipeDiameterEditView = new PipeDiameterEditView(pipeMaterialInfo.Name); bdr.Child = pipeDiameterEditView; } } } } private void rb_Click(object sender, RoutedEventArgs e) { RadioButton rb = sender as RadioButton; if (rb != null) { PipeMaterialInfo pMaterialInfo = rb.DataContext as PipeMaterialInfo; if (pMaterialInfo != null) { if (pMaterialInfo.IsEnabled) btnEditName.IsEnabled = true; else btnEditName.IsEnabled = false; } } } } }