/// <summary> /// Creates a <see cref="TreeViewItemExtended" /> to /// display content. /// </summary> /// <returns> /// A <see cref="TreeViewItemExtended" /> to use as a /// container for content. /// </returns> protected override DependencyObject GetContainerForItemOverride() { var itm = new TreeViewItemExtended(); itm.SetBinding(TreeViewItem.IsExpandedProperty, new Binding("IsExpanded") { Mode = BindingMode.TwoWay }); itm.SetBinding(TreeViewItem.IsSelectedProperty, new Binding("IsSelected") { Mode = BindingMode.TwoWay }); return itm; }
private static void AddItem(string strFileName, TreeViewItemExtended s) { TreeViewItemExtended item = new TreeViewItemExtended(); item.FolderIcon = @"pack://application:,,,/Images/file.png"; item.Header = strFileName; item.Tag = s; item.FontWeight = FontWeights.Normal; s.Items.Add(item); }
/// <summary> ${controls_TreeViewItemExtended_method_GetContainerForItemOverride_D}</summary> protected override DependencyObject GetContainerForItemOverride() { var item = new TreeViewItemExtended(); item.SetBinding(TreeViewItem.IsExpandedProperty, new Binding("IsExpanded") { Mode = BindingMode.TwoWay }); item.SetBinding(TreeViewItem.VisibilityProperty, new Binding("IsVisible") { Mode = BindingMode.TwoWay, Converter = new BoolConverter() }); return item; }
//private void foldersItem_SelectedItemChanged(object sender, RoutedPropertyChangedEventArgs<object> e) //{ // TreeView tree = (TreeView)sender; // TreeViewItemExtended temp = ((TreeViewItemExtended)tree.SelectedItem); // if (temp == null) // return; // SelectedImagePath = ""; // string temp1 = ""; // string temp2 = ""; // while (true) // { // temp1 = temp.Header.ToString(); // if (temp1.Contains(@"\")) // { // temp2 = ""; // } // SelectedImagePath = temp1 + temp2 + SelectedImagePath; // if (temp.Parent.GetType().Equals(typeof(TreeView))) // { // break; // } // temp = ((TreeViewItemExtended)temp.Parent); // temp2 = @"\"; // } // //show user selected path // string FullNameWithPath = ProjectOrLibraryPath + "\\" + SelectedImagePath; // //MessageBox.Show(ProjectOrLibraryPath + "\\" + SelectedImagePath); // OpenXamlFileEventArgs openXaml = new OpenXamlFileEventArgs(); // openXaml.XamlFileName = SelectedImagePath; // openXaml.XamlFileNameWithPath = FullNameWithPath; // SelectHelper.OnOpenXamlFile(openXaml); // //CustomWfDesigner.NewInstanceCSharp(FullNameWithPath); //} private void StackPanel_MouseDown(object sender, System.Windows.Input.MouseButtonEventArgs e) { Mouse.OverrideCursor = Cursors.Wait; try { TreeViewItemExtended temp = null; StackPanel sp = (StackPanel)sender; if (sp.Tag == null) { return; } if (sp.Tag is TreeViewItemExtended) { temp = (TreeViewItemExtended)sp.Tag; if (temp == null) { return; } SelectedImagePath = ""; string temp1 = ""; string temp2 = ""; while (true) { temp1 = temp.Header.ToString(); if (temp1.Contains(@"\")) { temp2 = ""; } SelectedImagePath = temp1 + temp2 + SelectedImagePath; if (temp.Parent.GetType().Equals(typeof(TreeView))) { break; } temp = ((TreeViewItemExtended)temp.Parent); temp2 = @"\"; } //show user selected path string FullNameWithPath = ProjectOrLibraryPath + "\\" + SelectedImagePath; //MessageBox.Show(ProjectOrLibraryPath + "\\" + SelectedImagePath); OpenXamlFileEventArgs openXaml = new OpenXamlFileEventArgs(); openXaml.XamlFileName = SelectedImagePath; openXaml.XamlFileNameWithPath = FullNameWithPath; SelectHelper.OnOpenXamlFile(openXaml); } } catch (Exception ex) { Log.Logger.LogData(ex.Message, LogLevel.Error); } finally { Mouse.OverrideCursor = null; } }
public void AddingNewItem(string strDir, string strFileName, ItemCollection treeviewItem) { bool lastnode = true; foreach (TreeViewItemExtended s in treeviewItem) { if (s.Tag.ToString().Contains(strDir)) //if root folder { if (Directory.Exists(s.Tag.ToString())) { if (s.Tag.ToString() == strDir) { AddItem(strFileName, s); break; } } else if (s.Tag.ToString().Contains(".xaml")) { string dirName = Path.GetDirectoryName(s.Tag.ToString()); if (s.Tag.ToString() == strDir) { AddItem(strFileName, s); break; } } } else if ((s.Tag != null) && (!(s.Tag.ToString().Contains(".xaml")))) { AddingNewItem(strDir, strFileName, s); lastnode = false; } } if (lastnode) { TreeViewItemExtended item = new TreeViewItemExtended(); item.FolderIcon = @"pack://application:,,,/Images/file.png"; item.Header = strFileName; item.Tag = strDir; item.FontWeight = FontWeights.Normal; treeviewItem.Add(item); return; } }
private void foldersItem_MouseDown(object sender, System.Windows.Input.MouseButtonEventArgs e) { try { TreeView tree = (TreeView)sender; TreeViewItemExtended temp = ((TreeViewItemExtended)tree.SelectedItem); if (temp == null) { return; } SelectedImagePath = ""; string temp1 = ""; string temp2 = ""; while (true) { temp1 = temp.Header.ToString(); if (temp1.Contains(@"\")) { temp2 = ""; } SelectedImagePath = temp1 + temp2 + SelectedImagePath; if (temp.Parent.GetType().Equals(typeof(TreeView))) { break; } temp = ((TreeViewItemExtended)temp.Parent); temp2 = @"\"; } //show user selected path string FullNameWithPath = ProjectOrLibraryPath + "\\" + SelectedImagePath; //MessageBox.Show(ProjectOrLibraryPath + "\\" + SelectedImagePath); OpenXamlFileEventArgs openXaml = new OpenXamlFileEventArgs(); openXaml.XamlFileName = SelectedImagePath; openXaml.XamlFileNameWithPath = FullNameWithPath; SelectHelper.OnOpenXamlFile(openXaml); //CustomWfDesigner.NewInstanceCSharp(FullNameWithPath); } catch (Exception ex) { Log.Logger.LogData(ex.Message, LogLevel.Error); } }
void folder_Expanded(object sender, RoutedEventArgs e) { TreeViewItemExtended item = (TreeViewItemExtended)sender; if (item.Items.Count == 1 && item.Items[0] == dummyNode) { item.Items.Clear(); try { foreach (string s in Directory.GetDirectories(item.Tag.ToString())) { TreeViewItemExtended subitem = new TreeViewItemExtended(); item.FolderIcon = subitem.FolderIcon = @"pack://*****:*****@"pack://application:,,,/Images/file.png"; itemFile.Tag = s; itemFile.FontWeight = FontWeights.Normal; //itemFile.Items.Add(dummyNode); item.Items.Add(itemFile); } } } catch (Exception ex) { Log.Logger.LogData(ex.Message, LogLevel.Error); } } }
public void AddingNewItem(string strDir, string strFileName, TreeViewItemExtended treeItem) { foreach (TreeViewItemExtended s in treeItem.Items) { if ((s != null) && (s.Tag != null)) { if (strDir.Contains(s.Tag.ToString())) { if (strDir.ToLower() == s.Tag.ToString().ToLower()) { AddItem(strFileName, s); return; } else { AddingNewItem(strDir, strFileName, treeItem); } } } } }
public void LoadTreeView() { try { foreach (string s in Directory.GetDirectories(ProjectOrLibraryPath)) { TreeViewItemExtended item = new TreeViewItemExtended(); item.FolderIcon = @"pack://*****:*****@"pack://application:,,,/Images/file.png"; item.Header = s.Substring(s.LastIndexOf("\\") + 1); item.Tag = s; item.FontWeight = FontWeights.Normal; // item.Items.Add(dummyNode); foldersItem.Items.Add(item); } } } catch (Exception ex) { Log.Logger.LogData(ex.Message, LogLevel.Error); } }