Пример #1
0
        private static NotifyCollectionChangedEventHandler LogItemChangedEventHandler(LogItemViewEx logItemViewEx)
        {
            return((sender, args) =>
            {
                if (VisualTreeHelperEx.FindDescendantByName(logItemViewEx, @"logListView") is ListView lstViewItem)
                {
                    if (logItemViewEx.AutoScrollItems && logItemViewEx._isLogListAutoScroll)
                    {
                        var data = (ObservableCollection <LogItem>)logItemViewEx.GetValue(MsgLogItemsProperty);
                        var lastestOne = data.LastOrDefault();

                        if (lastestOne != null && lastestOne.Level >= logItemViewEx.AutoScrollLevel)
                        {
                            lstViewItem.Dispatcher.BeginInvoke(DispatcherPriority.Input, (Action) delegate
                            {
                                lstViewItem.SelectedIndex = lstViewItem.Items.Count - 1;
                                lstViewItem.ScrollIntoView(lstViewItem.SelectedItem);
                                //var item = lstViewItem.ItemContainerGenerator.ContainerFromItem(lstViewItem.SelectedItem) as ListViewItem;
                                //item?.Focus();
                            });
                        }
                    }
                }
            });
        }
Пример #2
0
        /// <summary>
        /// Mouse wheel used
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void DesignerScrollViewer_OnPreviewMouseWheel(object sender, MouseWheelEventArgs e)
        {
            if (Keyboard.Modifiers != 0)
            {
                TableViewControl viewControl = e.Source as TableViewControl;
                if (viewControl != null)
                {
                    try
                    {
                        var grid = viewControl.TableDataGrid;
                        var item = grid.SelectedItem;
                        var row  = grid.ItemContainerGenerator.ContainerFromItem(item) as DataGridRow;
                        var cbox = VisualTreeHelperEx.FindDescendantByName(row, "DataTypeComboBox") as ComboBox;
                        if (cbox != null)
                        {
                            cbox.IsDropDownOpen = false;
                        }
                    }
                    catch (Exception exc)
                    {
                        Trace.WriteLine(exc.Message);
                    }
                }
            }

            if ((Keyboard.Modifiers & ModifierKeys.Control) != 0)
            {
                double newScale = ViewModel.Scale;
                if (e.Delta > 0)
                {
                    newScale += 0.05;
                }
                else if (e.Delta < 0)
                {
                    newScale -= 0.05;
                }
                ViewModel.ChangeZoomCommand.Execute(newScale.ToString("G"));
                e.Handled = true;
            }
            else if ((Keyboard.Modifiers & ModifierKeys.Shift) != 0)
            {
                DesignerScrollViewer.ScrollToHorizontalOffset(DesignerScrollViewer.HorizontalOffset + e.Delta);
                e.Handled = true;
            }
        }
Пример #3
0
        /// <summary>
        /// Moves the custom caret on the canvas.
        /// </summary>
        private void MoveCustomCaret()
        {
            var textBox = VisualTreeHelperEx.FindDescendantByName(this, "FakeBox") as TextBox;

            var caretLocation = textBox.GetRectFromCharacterIndex(CaretIndex).Location;

            var border = VisualTreeHelperEx.FindDescendantByName(this, "Caret") as UIElement;

            if (!double.IsInfinity(caretLocation.X))
            {
                Canvas.SetLeft(border, caretLocation.X);
            }

            if (!double.IsInfinity(caretLocation.Y))
            {
                Canvas.SetTop(border, caretLocation.Y);
            }
        }
Пример #4
0
        private void LoginWnd_Loaded(object sender, RoutedEventArgs e)
        {
            var tb  = VisualTreeHelperEx.FindDescendantByName(this, "tbUserName");
            var tb2 = VisualTreeHelperEx.FindDescendantByName(this, "tbPassword");

            if (tb is TextBox tbUserName)
            {
                if (tbUserName.IsEnabled)
                {
                    tbUserName.Focus();
                }
            }
            else if (tb2 is TextBox tbPassword)
            {
                if (tbPassword.IsEnabled)
                {
                    tbPassword.Focus();
                }
            }
        }