找回密码
 立即注册

QQ登录

只需一步,快速开始

mindrayguowei

中级会员

122

主题

274

帖子

986

积分

中级会员

积分
986

活字格认证

QQ
mindrayguowei
中级会员   /  发表于:2016-8-26 14:05  /   查看:2934  /  回复:3
两个问题.1. 当Text Control模板加载到模板里面后, 按Ctrl-Z 撤销会导致模板格式变乱, 如何防止格式变乱?  或者, 如何禁用Ctrl-Z 以及Ctrl-Y

2.  模板里面的Table,很容易被选中, 一旦被选中, 程序就无法针对这个table插入数据, 如何禁止table被选中?

3 个回复

倒序浏览
gw0506
超级版主   /  发表于:2016-8-29 17:03:18
沙发
1,你可以用AllowUndo把这个行为封掉。
2. 我不理解。本身没没有禁止选中的设置。你要插入数据,跟选中的冲突在哪里?
回复 使用道具 举报
mindrayguowei
中级会员   /  发表于:2016-8-30 13:33:19
板凳
第二点的问题:
1.  整个Text Control模板不是只读的, 但是我们要求用户吧内容输入在Table框里面, 因为用户输入的内容是要被识别到并存入数据库的, 而且是分好几个字段存数据库.
2.  通过一个InputPositionChanged判断用户鼠标是否点击在Table框里面, 如果在框里面, 允许输入内容.在框外面, 整个Text Control设置为ReadAndSelected. 那么问题来了, 当整个Table框被选中的时候, InputPositionChanged事件会判断到是在Table框里面,.

这就导致一个很严重的问题, 当Table框被选中的时候, 他可以随意的拖动选中的table到模板的任意位置, 这个是不允许的. 另外导致的一些偶然的问题, 比如通过键盘事件把一些内容显示到table框里面的时候, 会跑到框外面去.
回复 使用道具 举报
gw0506
超级版主   /  发表于:2016-8-30 14:43:11
地板
mindrayguowei 发表于 2016-8-30 13:33
第二点的问题:
1.  整个Text Control模板不是只读的, 但是我们要求用户吧内容输入在Table框里面, 因为用 ...

你尝试一下这个思路:
1. 在Table里需要编辑的单元格中放入TextField。
2. 通过textfieldentered 和 特性tfieldleft这对事件控制EditMode。

这样应该可以避免掉目前的问题。另外,用textfield比TableCell对象要多一些控制接口。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部