zheng_bei 发表于 2016-7-18 13:42:45

怎么在表格中添加tooltip?管理速进

http://blog.gcpowertools.com.cn/post/2016/07/13/wijmo_flexgrid_tooltip.aspx
管理你好,我想知道如果使用“GcSpreadSheet”这个控件应该怎么添加tooltip?是不是跟wijmo5一样的写法?

zheng_bei 发表于 2016-7-18 13:43:47

每列或者每格的话,我粗略的翻了一遍demo,好像没看到类似的功能。

dexteryao 发表于 2016-7-18 14:21:14

WPF 确实没有这样的功能,不过自己实现也比较简单,在 MouseMove 事件中展示一个ToopTip,需要展示的内容可以放在Cell的tag中。

zheng_bei 发表于 2016-7-18 14:31:25

dexteryao 发表于 2016-7-18 14:21
WPF 确实没有这样的功能,不过自己实现也比较简单,在 MouseMove 事件中展示一个ToopTip,需要展示的内容可 ...

绑定的表格比较多,肿么办?只能通过搜索来嘛?:'(

dexteryao 发表于 2016-7-18 14:35:55

绑定的单元格多还是表格多?逻辑和在wijmo5 中是一样的。您初始化一个ToolTip,然后在鼠标移动或者点击的事件中显示就好了。

zheng_bei 发表于 2016-7-18 14:40:56

正在弄。。。谢谢:P

dexteryao 发表于 2016-7-18 15:48:36

不客气

zheng_bei 发表于 2016-7-18 16:43:34

dexteryao 发表于 2016-7-18 14:21
WPF 确实没有这样的功能,不过自己实现也比较简单,在 MouseMove 事件中展示一个ToopTip,需要展示的内容可 ...

在不在,我写了个测试,如果写在tag里面的话,好像没有东西出来,如果用一个border来现实的话,就定位不到具体的格子,有啥好办法没?要不人您给个联系方式,我加您详聊

dexteryao 发表于 2016-7-18 17:07:02

大概就是这样一个思路

      ToolTip toolTip = new ToolTip();
      private void MainWindow_Loaded(object sender, RoutedEventArgs e)
      {
            gcSpreadSheet1.ToolTip = toolTip;
            gcSpreadSheet1.MouseMove += GcSpreadSheet1_MouseMove;

            gcSpreadSheet1.ActiveSheet.Cells.Tag = "Hi !";
            gcSpreadSheet1.ActiveSheet.Cells.Tag = "Hi 2";
      }

      private void GcSpreadSheet1_MouseMove(object sender, MouseEventArgs e)
      {
            var point = e.GetPosition(this.gcSpreadSheet1);

            var info = this.gcSpreadSheet1.HitTest(point.X, point.Y);
            toolTip.IsOpen = false;

            if (info.HitTestType == HitTestType.Viewport && info.ViewportInfo != null)
            {
                var cell = gcSpreadSheet1.ActiveSheet.Cells;
                if (cell.Tag != null)
                {
                  toolTip.Content = cell.Tag.ToString();
                  toolTip.IsOpen = true;
                }
            }
      }

页: [1]
查看完整版本: 怎么在表格中添加tooltip?管理速进