Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        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;
        }
Exemplo n.º 3
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;
        }
Exemplo n.º 4
0
        /// <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);
        }