public void Show(ListerView view) { currentView = view; var gridView = view.View.View as GridView; UIElement target = null; double nameColumnPosition = 0; if (gridView != null) { var nameColumnFound = false; foreach(var col in gridView.Columns) { if ("Name" == col.Header as string) { nameColumnFound = true; break; } nameColumnPosition += col.ActualWidth; } if (!nameColumnFound) { var firstColumn = gridView.Columns.FirstOrDefault(); nameColumnPosition = gridView.Columns.First().Width; } } else { nameColumnPosition = 31; } target = view.View.ItemContainerGenerator.ContainerFromItem(view.View.SelectedItem) as UIElement; renamePopup.PlacementTarget = target; renamePopup.Placement = PlacementMode.Relative; renamePopup.HorizontalOffset = nameColumnPosition + 3; renamePopup.VerticalOffset = -1; renameTextBox.Text = ((IItem)view.View.SelectedItem).Name; var typeFace = new Typeface(Options.FontFamily.ToString()); var ft = new FormattedText(renameTextBox.Text, CultureInfo.CurrentCulture, FlowDirection.LeftToRight, typeFace, Options.FontSize, Brushes.Black); renameTextBox.Height = ft.Height + 6; renameTextBox.Width = ft.Width + 20; originalSize = ft.Width + 20; renamePopup.IsOpen = true; renameTextBox.Focus(); var endIndex = renameTextBox.Text.LastIndexOf('.'); var item = view.View.SelectedItem as FileItem; var isDirectory = false; if (item != null) { isDirectory = item.ItemType == ItemType.Container; } if (endIndex == -1 || isDirectory) endIndex = renameTextBox.Text.Length; renameTextBox.SelectionStart = 0; renameTextBox.SelectionLength = endIndex; }
public void CycleListers(int direction) { var ind = _views.IndexOf(CurrentView); ind += direction; if (ind < 0) { ind = _views.Count -1; } else if (ind > _views.Count - 1) { ind = 0; } CurrentView = _views[ind]; if (CurrentView == null) return; FocusView(); }
public void OpenLister(string container, ILister lister) { lister.CurrentDirectory = container; var listerView = new ListerView { Lister = lister, DataContext = lister }; lister.ListView = listerView.View; var newTab = new TabItem(); newTab.Header = container; newTab.Content = listerView; _tabControl.Items.Add(newTab); CurrentListerView = listerView; if (lister.XamlView == null) setGridViewColumns(listerView.View, lister); else SetView(lister.XamlView); listerView.GotFocus += ListerViewGotFocus; listerView.View.Loaded += SetFocus; listerView.Lister.PropertyChanged += ListerPropertyChanged; _tabControl.SelectedItem = newTab; }
public ViewHandler(ListerView listerView) { _listerView = listerView; }