silverlight中如何获取Template中的元素 5

请问我在写button样式中包含了Template属性,而button的颜色是由Template中嵌套的一个Rectangle的填充色实现的。我现在想在后台代码中找到这个... 请问我在写button样式中包含了Template属性,而button的颜色是由Template中嵌套的一个Rectangle的填充色实现的。我现在想在后台代码中找到这个Rectangle,可以吗?如果可以的话,用什么方法实现呢?
加Name标识是自然的,我是说加了以后,在后台代码中不知道用什么方法能够找到这个Rectangle。 这些浅显的方法我早用过了~~~都行不通!!!
看完第二个意见后,先在此说声谢谢。
我是这样写的,但是却没有找到我的Rectangle
public class findRectangle : Button
{
public findRectangle (){

}

public object GetChildControl(string name)
{
return this.GetTemplateChild(name);
}
}
调用: findRectangle rect = new findRectangle();
object obj = rect.GetChildControl("myrectangle");
备注:myrectangle是给Rectangle的Name值。
这样写,但是当我调试的时候,obj的值却是空的,不知道是为什么?
展开
 我来答
百度网友dec7b4a4d
2009-09-16
知道答主
回答量:6
采纳率:0%
帮助的人:9591
展开全部
要想获取template里面的元素,必须重新一个控件类继承它原来的那个类
比如:
public class MyButton:Button
{
}
因为原来那个类里面有个方法叫GetTemplateChild(string name),而这个方法是protected的,所以你要在现在这个新的类里面添加一个公有方法用于返回结果
比如:
public object GetChildControl(string name)
{
return this.GetTemplateChild(name);
}

就OK啦~~
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
kid83
2009-09-15 · TA获得超过2081个赞
知道大有可为答主
回答量:1818
采纳率:0%
帮助的人:1990万
展开全部
如果这个Template也是在本xaml页里定义的,那么给Rectangle加x:Name="rtg"
后台里可以通过这个名称去访问

this.rtg.属性这样不行?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式