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.Interactivity; using System.Windows.Media; using System.Windows.Media.Imaging; using System.Windows.Navigation; using System.Windows.Shapes; using Tango.Scripting.IDE.Controls; namespace Tango.Scripting.IDE { /// /// Interaction logic for ScriptIDEView2.xaml /// public partial class ScriptIDEView2 : UserControl { public enum eSkin { Dark, Light } public static eSkin Skin { get; set; } public ScriptIDEView2() { InitializeComponent(); } public void ChangeSkin(eSkin newSkin) { Skin = newSkin; Resources.Clear(); Resources.MergedDictionaries.Clear(); if (Skin == eSkin.Dark) ApplyResources("Themes/DarkThemesColors.xaml"); else if (Skin == eSkin.Light) ApplyResources("Themes/LightThemesColors.xaml"); ApplyResources("Themes/Shared.xaml"); } private void ApplyResources(string src) { var dict = new ResourceDictionary() { Source = new Uri(src, UriKind.Relative) }; foreach (var mergeDict in dict.MergedDictionaries) { Resources.MergedDictionaries.Add(mergeDict); } foreach (var key in dict.Keys) { Resources[key] = dict[key]; } } private void Button_Click(object sender, RoutedEventArgs e) { MessageBox.Show("I am here"); } #region selection solution trees private TreeViewItem _selectedtreeViewItem; private TreeViewItem SelectedtreeViewItem { get { return _selectedtreeViewItem; } set { if (_selectedtreeViewItem != null) { _selectedtreeViewItem.IsSelected = false; } _selectedtreeViewItem = value; _selectedtreeViewItem.IsSelected = true; } } private void SolutionTree_PreviewMouseRightButtonDown(object sender, MouseButtonEventArgs e) { TreeViewItem treeViewItem = VisualUpwardSearch(e.OriginalSource as DependencyObject); if (treeViewItem != null) { SelectedtreeViewItem = treeViewItem; e.Handled = true; } } private void SolutionTree_PreviewMouseLeftButtonDown(object sender, MouseButtonEventArgs e) { TreeViewItem treeViewItem = VisualUpwardSearch(e.OriginalSource as DependencyObject); if (treeViewItem != null) { SelectedtreeViewItem = treeViewItem; } } static TreeViewItem VisualUpwardSearch(DependencyObject source) { while (source != null && !(source is TreeViewItem)) source = VisualTreeHelper.GetParent(source); return source as TreeViewItem; } #endregion } }