zoukankan      html  css  js  c++  java
  • dev gridcontrol把event事件转换成命令

        可以通过继承gridcontrol的形式来实现 定义DataGridDoubleClickCommand依赖属性

    class MyGridControl : GridControl
        {

            public ICommand DataGridDoubleClickCommand
            {
                get { return (ICommand)GetValue(DataGridDoubleClickProperty); }
                set { SetValue(DataGridDoubleClickProperty, value); }
            }
            public static readonly DependencyProperty DataGridDoubleClickProperty =
        DependencyProperty.RegisterAttached("DataGridDoubleClickCommand", typeof(ICommand), typeof(MyGridControl),
                          new UIPropertyMetadata());

            public MyGridControl()
            {
                Loaded += MyGridControl_Loaded;
                this.MouseDoubleClick += MyGridControl_MouseDoubleClick;
            }

            void MyGridControl_MouseDoubleClick(object sender, MouseButtonEventArgs e)
            {
                if (DataGridDoubleClickCommand != null)
                {
                    DataGridDoubleClickCommand.Execute(null);
                }
            }

            private void MyGridControl_Loaded(object sender, System.Windows.RoutedEventArgs e) //这段代码为了自适应屏幕
            {
                var tableView = View as TableView;
                tableView.BestFitColumns();
                double actualGridWidth = tableView.IndicatorHeaderWidth + System.Windows.Forms.SystemInformation.VerticalScrollBarWidth;
                IList<DevExpress.Xpf.Grid.GridColumn> gcList = tableView.VisibleColumns;
                foreach (DevExpress.Xpf.Grid.GridColumn gc in gcList)
                {
                    actualGridWidth += gc.ActualAdditionalRowDataWidth;
                }
                double blankArea = tableView.ActualWidth - actualGridWidth;
                if (blankArea > 0)
                {
                    foreach (DevExpress.Xpf.Grid.GridColumn gc in gcList)
                    {
                        gc.Width = gc.ActualWidth + blankArea / gcList.Count;
                    }
                }

                tableView.ShowGroupPanel = false;
                tableView.AllowEditing = false;
            }
        }

  • 相关阅读:
    树莓派也跑Docker和.NET Core
    使用iSCSI协议挂载网络磁盘,电脑瞬间扩大一个T的容量!
    Azure DevOps Server (TFS)免费吗?
    明确架构目标
    MMN实用架构过程概览
    设计恰如其分的架构
    对象的自治和行为的扩展与适配
    Message Chains与Fluent Interface
    如何减少代码的量
    《软件框架设计的艺术》书评
  • 原文地址:https://www.cnblogs.com/tianmochou/p/6183075.html
Copyright © 2011-2022 走看看