using MaterialDesignThemes.Wpf; using System; using System.Collections.Generic; 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.Core.DI; using Tango.MachineStudio.DB.Messages; using Tango.MachineStudio.DB.ViewModels; using Tango.MachineStudio.DB.Views.DBViews; using Tango.SharedUI; using Tango.SharedUI.Controls; namespace Tango.MachineStudio.DB.Views { /// /// Interaction logic for MainView.xaml /// public partial class MainDBView : UserControl { public MainDBView() : base() { InitializeComponent(); TangoMessenger.Default.Register(HandleOpenEntityViewMessage); TangoMessenger.Default.Register(HandleCloseEntityViewMessage); } public bool IsEditViewOpen { get { return (bool)GetValue(IsEditViewOpenProperty); } set { SetValue(IsEditViewOpenProperty, value); } } public static readonly DependencyProperty IsEditViewOpenProperty = DependencyProperty.Register("IsEditViewOpen", typeof(bool), typeof(MainDBView), new PropertyMetadata(false)); private void HandleCloseEntityViewMessage(CloseEntityEditViewMessage message) { IsEditViewOpen = false; } private void HandleOpenEntityViewMessage(OpenEntityEditViewMessage message) { Type viewType = typeof(MainDBView).Assembly.GetType(typeof(OrganizationView).Namespace + "." + message.EntityType.Name + "View"); presenter.DataContext = message.Context; var view = Activator.CreateInstance(viewType) as FrameworkElement; view.DataContext = message.Context; grid.DataContext = message.Context; presenter.Content = view; icon.Kind = (message.DialogOpenMode == DialogOpenMode.Editing ? PackIconKind.TableEdit : PackIconKind.Plus); txtTitle.Text = (message.DialogOpenMode == DialogOpenMode.Editing ? "Edit " : "Add New ") + (message.EntityType.Name.Length < 5 ? message.EntityType.Name.ToUpper() : message.EntityType.Name).ToTitle(); IsEditViewOpen = true; } private void Thumb_DragDelta(object sender, System.Windows.Controls.Primitives.DragDeltaEventArgs e) { if (double.IsNaN(grid.Width)) { grid.Width = grid.ActualWidth; } if (grid.Width + -e.HorizontalChange > 100) { grid.Width += -e.HorizontalChange; } } } }