private void CustomListView_Loaded(object sender, RoutedEventArgs e) { _scrollViewer = VisualSearchHelper.GetChildObject <ScrollViewer>(this, string.Empty); ScrollViewer.SetHorizontalScrollBarVisibility(this, ScrollBarVisibility.Disabled); ScrollViewer.SetCanContentScroll(this, true); VirtualizingPanel.SetIsVirtualizing(this, true); //设置ScrollUnit ScrollUnit scrollUnit; switch (CustomSlidingMode) { case SlidingModeType.Pixel: scrollUnit = ScrollUnit.Pixel; break; case SlidingModeType.Row: scrollUnit = ScrollUnit.Item; break; default: scrollUnit = ScrollUnit.Pixel; break; } VirtualizingPanel.SetScrollUnit(this, scrollUnit); }
private void TextBox_OnLostFocus(object sender, RoutedEventArgs e) { var textBox = sender as TextBox; var grid = VisualSearchHelper.GetParentObject <Grid>(textBox, "ParentGrid"); var button = VisualSearchHelper.GetChildObject <Button>(grid, "EditorButton"); button.Tag = 0; }
private void ShowEditor_OnClick(object sender, RoutedEventArgs e) { if (!(sender is Button button)) { return; } button.Tag = 1; var grid = VisualSearchHelper.GetParentObject <Grid>(button, "ParentGrid"); var textBox = VisualSearchHelper.GetChildObject <TextBox>(grid, "EditorBox"); textBox.Focus(); textBox.SelectionStart = 0; textBox.SelectionLength = textBox.Text.Length; }
/// <summary> /// 窗体回调函数,接收所有窗体消息的事件处理函数 /// </summary> /// <param name="hWnd">窗口句柄</param> /// <param name="msg">消息</param> /// <param name="wideParam">附加参数1</param> /// <param name="longParam">附加参数2</param> /// <param name="handled">是否处理</param> /// <returns>返回句柄</returns> private IntPtr WndProc(IntPtr hWnd, int msg, IntPtr wideParam, IntPtr longParam, ref bool handled) { switch (msg) { case HotKeyManager.WmHotkey: var sid = wideParam.ToInt32(); if (_mHotKeySettings.ContainsKey(EHotKeySetting.FullScreen) && sid == _mHotKeySettings[EHotKeySetting.FullScreen]) { //全屏 WindowState = WindowState.Maximized; } else if (_mHotKeySettings.ContainsKey(EHotKeySetting.NormalScreen) && sid == _mHotKeySettings[EHotKeySetting.NormalScreen]) { //标准屏 WindowState = WindowState.Normal; } else if (_mHotKeySettings.ContainsKey(EHotKeySetting.NewRow) && sid == _mHotKeySettings[EHotKeySetting.NewRow]) { //新增行 var focusedElement = Keyboard.FocusedElement; if (focusedElement is TextBoxBase) { var tableView = VisualSearchHelper.GetParentObject <DevExpress.Xpf.Grid.TableView>((Control)focusedElement, string.Empty); tableView?.AddNewRow(); } else if (focusedElement is InplaceBaseEdit) { var tableView = VisualSearchHelper.GetParentObject <DevExpress.Xpf.Grid.TableView>((InplaceBaseEdit)focusedElement, string.Empty); tableView?.AddNewRow(); } } else if (_mHotKeySettings.ContainsKey(EHotKeySetting.DragIn) && sid == _mHotKeySettings[EHotKeySetting.DragIn]) { //自动引入值 var focusedElement = Keyboard.FocusedElement; if (focusedElement is TextBoxBase) { var gridControl = VisualSearchHelper.GetParentObject <GridControl>((Control)focusedElement, string.Empty); if (gridControl != null) { var focusedRow = gridControl.GetFocusedRow(); var itemSources = ((HotKeyViewModel)gridControl.DataContext).ItemSources; var index = itemSources.IndexOf((HotKeyDto)focusedRow); var currentColumn = gridControl.CurrentColumn; if (index > 0) { var preValue = gridControl.GetCellValue(index - 1, currentColumn.FieldName); gridControl.SetCellValue(index, currentColumn.FieldName, preValue); ((TextBox)focusedElement).Text = preValue?.ToString() ?? string.Empty; ((TextBox)focusedElement).SelectAll(); } } } } else if (_mHotKeySettings.ContainsKey(EHotKeySetting.Entry) && sid == _mHotKeySettings[EHotKeySetting.Entry]) { //进入 MessageBox.Show("我已经进入了弹出框了!"); } else if (_mHotKeySettings.ContainsKey(EHotKeySetting.MakeLevel) && sid == _mHotKeySettings[EHotKeySetting.MakeLevel]) { //进入 MessageBox.Show("我触发了找平!"); } handled = true; break; } return(IntPtr.Zero); }