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的值却是空的,不知道是为什么? 展开
加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的值却是空的,不知道是为什么? 展开
2个回答
展开全部
要想获取template里面的元素,必须重新一个控件类继承它原来的那个类
比如:
public class MyButton:Button
{
}
因为原来那个类里面有个方法叫GetTemplateChild(string name),而这个方法是protected的,所以你要在现在这个新的类里面添加一个公有方法用于返回结果
比如:
public object GetChildControl(string name)
{
return this.GetTemplateChild(name);
}
就OK啦~~
比如:
public class MyButton:Button
{
}
因为原来那个类里面有个方法叫GetTemplateChild(string name),而这个方法是protected的,所以你要在现在这个新的类里面添加一个公有方法用于返回结果
比如:
public object GetChildControl(string name)
{
return this.GetTemplateChild(name);
}
就OK啦~~
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询