dafeng520 发表于 2014-8-8 15:04:00

【XAML】wpf flexgrid中tip显示问题

当改变flexgrid单元格中数据后,tip没有及时的改变。
发现左右拖动后,依然不变。
切换行也不变。
拖动垂直滚动条,拖出界面后,再拖回来就好了。

Alice 发表于 2014-8-8 16:09:00

回复 1楼dafeng520的帖子

操作已经理解。
但请教下,请问下tip根据flexgrid单元格的值改变的么?还是和什么数据绑定了?

dafeng520 发表于 2014-8-8 17:12:00

tip显示的为单元格的值。 单元格值改变后,tip没有及时改变。

Alice 发表于 2014-8-8 17:35:00

回复 3楼dafeng520的帖子

我这边测试没有重现问题。
我的操作如下:
1.重写类继承CellFactory
   public class ToolTipCellFactory : CellFactory
    {
      public override void CreateCellContent(C1FlexGrid grid, Border bdr, CellRange rng)
      {
            // crate the content
            base.CreateCellContent(grid, bdr, rng);

            // add the tooltip
            var tip = string.Format("row: {0} col: {1}\r\ncontent: {2}\r\ncolumn Tag: {3}",
                rng.Row,
                rng.Column,
                grid,
                grid.Columns.Tag);
            ToolTipService.SetToolTip(bdr, tip);
      }
    }
2.在初始化的时候设置ToolTip并且绑定,代码如下:
            _grid.CellFactory = new ToolTipCellFactory();
            
            for (int i = 0; i < 50; i++)
            {
                list.Add(new Customer()
                {
                  Name = "Customer " + i.ToString(),
                  Age = 10 + i,
                  Active = i % 3 != 0
                });
            }
            _grid.ItemsSource = list;
3.在运行时,更改单元格的值,然后鼠标hover上去,ToolTip展示的就是更改后的值。

请问你是通过什么方式更改的单元格的值?我们的操作上有什么区别?

dafeng520 发表于 2014-8-11 10:16:00

我不是直接编辑进去修改单元格的值,而是通过其他方式,如按钮点一下,在按钮事件里去改变单元格的值,此时tooltip没有改变。

Alice 发表于 2014-8-11 10:33:00

回复 5楼dafeng520的帖子

就是说你看到单元格的值已经改变了,但鼠标Hover时候tip没变,对吧?
能提供下源码或例子么?我看看这里是否存在问题。

dafeng520 发表于 2014-8-11 13:56:00

我写了个小demo,你可以测试下。每次点击按钮后,Age加5,但是tooltip没有改变。

Alice 发表于 2014-8-11 18:31:00

回复 7楼dafeng520的帖子

程序测试了,的确存在你说的问题。
我研究下原因,然后给你回复。

dafeng520 发表于 2014-8-15 10:39:00

研究出结果了没啊:D

Alice 发表于 2014-8-15 11:14:00

回复 9楼dafeng520的帖子

问题已经重现,并且作为bug反馈到产品组了。
谢谢你经常给我们反馈问题,不过又要你等待bug的处理结果,如果有消息我第一时间通知你。
页: [1] 2
查看完整版本: 【XAML】wpf flexgrid中tip显示问题