天天看点

让你的Blend“编辑其他模板”菜单里出现你的Style

原文:

让你的Blend“编辑其他模板”菜单里出现你的Style
让你的Blend“编辑其他模板”菜单里出现你的Style

如图。。

昨天在做控件的时候遇到了一个新的要求,让美工可以在Blend里直接编辑自定义控件里子内容的模板。于是乎疯狂的求助谷哥度姐,结果一无所获。

在查了一遍又一遍的MSDN后,终于发现了一个可能有帮助的类StyleTypedPropertyAttribute ,搜噶,原来是个Attribute的描述,尝试的加在了类的上面

像下边这样

[StyleTypedProperty(Property = "MyChildStyle", StyleTargetType = typeof(Button))]

public class MyControl:Control

{

……

}

然后在MyControl里面定义一个DP属性MyChildStyle,类型是Style,在属性变更时改变我的自定义控件里的一个子控件(类型是Button)的样式

编译。。。。

生成。。。。

启动Blend。。。。

放里面一个我定义的这个控件,然后打开编辑其他模板,终于发现了自己定义的这个Style,到这里一切搞定

这两个参数想必不用做过多的解释,大家都能理解上去哈。。。

继续阅读