using Gestor.Application.Helpers; using Gestor.Application.ViewModels.Generic; using Gestor.Model.Domain.Ferramentas; using System; using System.CodeDom.Compiler; using System.ComponentModel; using System.Diagnostics; using System.Linq; using System.Runtime.CompilerServices; using System.Windows; using System.Windows.Controls; using System.Windows.Controls.Primitives; using System.Windows.Markup; using System.Windows.Media; namespace Gestor.Application.Componentes { public class DialogTrilha : UserControl, IComponentConnector, IStyleConnector { private bool _contentLoaded; public DialogTrilhaViewModel ViewModel { get; set; } public DialogTrilha(DialogTrilhaViewModel viewModel) { this.ViewModel = viewModel; base.DataContext = this.ViewModel; this.InitializeComponent(); } private void AdicionarFase_OnClick(object sender, RoutedEventArgs e) { this.ViewModel.AdicionarFase(); } private void ExcluirFase_OnClick(object sender, RoutedEventArgs e) { Fase dataContext = ((Button)sender).DataContext as Fase; if (dataContext == null) { return; } this.ViewModel.ExcluirFase(dataContext); } [DebuggerNonUserCode] [GeneratedCode("PresentationBuildTasks", "4.0.0.0")] public void InitializeComponent() { if (this._contentLoaded) { return; } this._contentLoaded = true; System.Windows.Application.LoadComponent(this, new Uri("/Gestor.Application;component/componentes/dialogtrilha.xaml", UriKind.Relative)); } [DebuggerNonUserCode] [EditorBrowsable(EditorBrowsableState.Never)] [GeneratedCode("PresentationBuildTasks", "4.0.0.0")] void System.Windows.Markup.IComponentConnector.Connect(int connectionId, object target) { if (connectionId != 1) { this._contentLoaded = true; return; } ((MenuItem)target).Click += new RoutedEventHandler(this.AdicionarFase_OnClick); } [DebuggerNonUserCode] [EditorBrowsable(EditorBrowsableState.Never)] [GeneratedCode("PresentationBuildTasks", "4.0.0.0")] void System.Windows.Markup.IStyleConnector.Connect(int connectionId, object target) { switch (connectionId) { case 2: { ((TextBox)target).GotFocus += new RoutedEventHandler(this.UIElement_OnGotFocus); ((TextBox)target).LostFocus += new RoutedEventHandler(this.UIElement_OnLostFocus); return; } case 3: { ((TextBox)target).GotFocus += new RoutedEventHandler(this.UIElement_OnGotFocus); ((TextBox)target).LostFocus += new RoutedEventHandler(this.UIElement_OnLostFocus); return; } case 4: { ((Button)target).Click += new RoutedEventHandler(this.ExcluirFase_OnClick); return; } default: { return; } } } private void UIElement_OnGotFocus(object sender, RoutedEventArgs e) { DependencyObject parent = VisualTreeHelper.GetParent((UIElement)sender); while (!(parent is ListBoxItem)) { if (parent == null) { continue; } parent = VisualTreeHelper.GetParent(parent); } ListBoxItem listBoxItem = (ListBoxItem)parent; if (!listBoxItem.IsSelected) { listBoxItem.IsSelected = true; } } private void UIElement_OnLostFocus(object sender, RoutedEventArgs e) { ListBox listBox = ViewHelper.FindAncestor((TextBox)sender).FirstOrDefault(); if (listBox == null) { return; } this.ViewModel.UpdateFase(listBox.SelectedIndex); } } }