123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157 |
- using Aitex.Core.UI.View.Common;
- using Aitex.Sorter.Common;
- using Aitex.Sorter.UI.ViewModel;
- using System;
- using System.Collections;
- using System.Collections.Generic;
- using System.ComponentModel;
- using System.Globalization;
- 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 Aitex.Sorter.UI.Views
- {
- /// <summary>
- /// RecipeView.xaml 的交互逻辑
- /// </summary>
- public partial class RecipeView : UserControl, IBaseView
- {
- private RecipeViewModel recipeViewModel;
- public RecipeView()
- {
- InitializeComponent();
- recipeViewModel = new RecipeViewModel();
- DataContext = recipeViewModel;
- cbRecipeType.SelectedValuePath = "Key";
- cbRecipeType.DisplayMemberPath = "Value";
- cbRecipeType.ItemsSource = EnumHelper.ToDictionary<SorterRecipeType>();
- cbRecipeType.SelectedIndex = 0;
- IsVisibleChanged += RecipeView_IsVisibleChanged;
- }
- private void RecipeView_IsVisibleChanged(object sender, DependencyPropertyChangedEventArgs e)
- {
- recipeViewModel.EnableTimer(IsVisible);
- if (IsVisible)
- {
- recipeViewModel.Refresh();
- lstRecipe.SelectedIndex = 0;
- }
- }
- private void btnAdd_Click(object sender, RoutedEventArgs e)
- {
- var inputName = new RecipeNameDialog();
- inputName.Owner = Window.GetWindow(this);
- if (inputName.ShowDialog() == true)
- {
- recipeViewModel.AddNewRecipe(inputName.RecipeName);
- lstRecipe.SelectedItem = inputName.RecipeName;
- }
- }
- private void lstRecipe_SelectionChanged(object sender, SelectionChangedEventArgs e)
- {
- recipeViewModel.LoadRecipe((string)lstRecipe.SelectedValue);
- }
- private void btnSave_Click(object sender, RoutedEventArgs e)
- {
- recipeViewModel.SaveRecipe();
- }
- private void btnDelete_Click(object sender, RoutedEventArgs e)
- {
- if ((recipeViewModel.CurrentRecipe != null && MessageBox.Show(string.Format("Are you sure you want to delete recipe [{0}]?", recipeViewModel.CurrentRecipe.Name), "Delete Recipe", MessageBoxButton.YesNo, MessageBoxImage.Question) == MessageBoxResult.Yes))
- {
- recipeViewModel.DeleteRecipe();
- lstRecipe.SelectedIndex = lstRecipe.Items.Count - 1;
- }
- }
- private void btnCancel_Click(object sender, RoutedEventArgs e)
- {
- recipeViewModel.LoadRecipe((string)lstRecipe.SelectedValue);
- }
- private void btnRename_Click(object sender, RoutedEventArgs e)
- {
- if (recipeViewModel.CurrentRecipe != null)
- {
- var inputName = new RecipeNameDialog(recipeViewModel.CurrentRecipe.Name);
- inputName.Owner = Window.GetWindow(this);
- if (inputName.ShowDialog() == true)
- {
- recipeViewModel.RenameRecipe(inputName.RecipeName);
- lstRecipe.SelectedItem = inputName.RecipeName;
- }
- }
- }
- private void btnCopy_Click(object sender, RoutedEventArgs e)
- {
- if (recipeViewModel.CurrentRecipe != null)
- {
- var newName = string.Format("Copy of {0}", recipeViewModel.CurrentRecipe.Name);
- var inputName = new RecipeNameDialog(newName);
- inputName.Owner = Window.GetWindow(this);
- if (inputName.ShowDialog() == true)
- {
- recipeViewModel.CopyRecipe(inputName.RecipeName);
- lstRecipe.SelectedItem = inputName.RecipeName;
- }
- }
- }
- }
- public class RecipeLayoutConvert : IMultiValueConverter
- {
- public object Convert(object[] values, Type targetType, object parameter, CultureInfo culture)
- {
- var root = values[1] as FrameworkElement;
- if (values[0] != null)
- {
- var type = (SorterRecipeType)values[0];
- switch (type)
- {
- case SorterRecipeType.Transfer1To1:
- return root.FindResource("1To1");
- case SorterRecipeType.TransferNToN:
- return root.FindResource("NToN");
- case SorterRecipeType.Pack:
- return root.FindResource("Pack");
- case SorterRecipeType.Order:
- return root.FindResource("Order");
- case SorterRecipeType.Align:
- return root.FindResource("Default");
- case SorterRecipeType.ReadWaferId:
- return root.FindResource("Default");
- case SorterRecipeType.HostNToN:
- return root.FindResource("Host");
- default:
- break;
- }
- }
- return null;
- }
- public object[] ConvertBack(object value, Type[] targetTypes, object parameter, CultureInfo culture)
- {
- throw new NotImplementedException();
- }
- }
- }
|