找回密码
 立即注册

QQ登录

只需一步,快速开始

CanYou1

高级会员

45

主题

227

帖子

1359

积分

高级会员

积分
1359

活字格认证微信认证勋章元老葡萄

CanYou1
高级会员   /  发表于:2015-5-7 15:10  /   查看:15481  /  回复:16




如上图示,我在调用deleteCol.CellTemplate.FindName方法时,第二个参数应是什么?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

16 个回复

倒序浏览
Alice
社区贡献组   /  发表于:2015-5-7 17:38:00
沙发
回复 1楼CanYou1的帖子

感谢你对该问题的反馈。
根按照我的理解,你需要查找virtualtree下的元素RowDeleteButton。
据WPF设计的规范,首先你需要获取应用的这个control template,然后需要通过名字获取模板元素。
msdn有关该方法的参考代码如下:
  1. // Finding the grid that is generated by the ControlTemplate of the Button
  2. Grid gridInTemplate = (Grid)myButton1.Template.FindName("grid", myButton1);

  3. // Do something to the ControlTemplate-generated grid
  4. MessageBox.Show("The actual width of the grid in the ControlTemplate: "
  5.     + gridInTemplate.GetValue(Grid.ActualWidthProperty).ToString());
复制代码

如何找到controltemplate的generated元素,可以通过msdn获取该知识:
https://msdn.microsoft.com/en-us/library/bb613586.aspx
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
CanYou1
高级会员   /  发表于:2015-5-7 17:48:00
板凳
回复 2楼Alice的帖子

好的,Alice,谢谢你。我找时间再好好验证下。
回复 使用道具 举报
Alice
社区贡献组   /  发表于:2015-5-8 09:21:00
地板
回复 3楼CanYou1的帖子

好的,不用客气。
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
CanYou1
高级会员   /  发表于:2015-5-14 09:02:00
5#
回复 4楼Alice的帖子

Alice,我在1楼问的问题是,如何找到DataGridTemplateColumn下的CellTemplate里面的按钮,麻烦你仔细看下1楼截图最下面的代码,告诉我如何找到名字为RowDeleteButton的按钮好吗?
回复 使用道具 举报
CanYou1
高级会员   /  发表于:2015-5-14 09:08:00
6#
回复 2楼Alice的帖子

你给的https://msdn.microsoft.com/en-us/library/bb613586.aspx 这个例子一看就能明白,因为grid就在button按钮生成的模板里面。但是,在DataGridTemplateColumn下的CellTemplate模板里面,我用deleteCol.CellTemplate.FindName("RowDeleteButton",XXX)方法时,第二个参数我用deleteCol它会报错,我不知道该是什么啊,见1楼截图。
回复 使用道具 举报
Alice
社区贡献组   /  发表于:2015-5-14 11:46:00
7#
回复 6楼CanYou1的帖子

你好。
对Items的GetCellContent进行测试,初步推测DataGridColumn元素不是visual objects, 所以不能通过这种方法查找。
这个问题我会提交到产品组,如果有进一步的反馈我会通知你。
很抱歉给你带来的不便。
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
CanYou1
高级会员   /  发表于:2015-5-14 15:27:00
8#
回复 7楼Alice的帖子

Alice,我挺奇怪,你们的产品里,DataGrid的CellTemplate都提供了FindName方法,怎么会找不到里面的控件呢?是不是我们CellTemplate.FindName方法不会用?你知道这个方法怎么用的吗?
回复 使用道具 举报
Alice
社区贡献组   /  发表于:2015-5-14 17:25:00
9#
回复 8楼CanYou1的帖子

你好。
根据FindName方法无法获取到控件。因此这个问题我已经提交产品组进行确认。
非常抱歉给你带来的不便。
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
CanYou1
高级会员   /  发表于:2015-5-14 19:13:00
10#
回复 9楼Alice的帖子

哦,那CellTemplate.FindName方法的作用是什么?你们产品组的人既然提供了这个方法,那它肯定有它的用途吧?
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部