积极答复者
为什么Silverlight总告诉我找不到皮肤文件?

问题
-
我的项目里面,想让sl能有换肤功能,导入了Microsoft.Windows.Controls.Theming.dll,然后把皮肤文件放在sl项目的themes下。。。在下拉菜单改变选项的时候,进行换肤。。。。但是程序总在ImplicitStyleManager.SetResourceDictionaryUri(control, uri);这行提示我Resource not found皮肤文件。。。。我确定路径没错。。。
看了一下下载的例子,例子的.xap文件里,可以看到themes文件夹和皮肤文件。。。但是自己项目里面.xap文件里面没有,删了xap文件重新生成也没有。。。是不是因为这个原因才不能换肤。。。要怎么解决呢??
麻烦知道的人帮我一下,谢谢~~
答案
-
不用Clearn所有控件,清除所有控件再生成就不叫换皮肤了:)
Uri uri = new Uri("ExpressionLight.xml", UriKind.Relative); ImplicitStyleManager.SetResourceDictionaryUri(LayoutRoot, uri); ImplicitStyleManager.SetApplyMode(LayoutRoot, ImplicitStylesApplyMode.Auto); ImplicitStyleManager.Apply(LayoutRoot);
把你的根Panel设置模板,他内部的东东会自动更换,这样就可以了- 已编辑 李庆_八爪熊Moderator 2009年6月22日 0:53
- 已标记为答案 Allen Chen - MSFTModerator 2009年6月26日 7:05
全部回复
-
不用Clearn所有控件,清除所有控件再生成就不叫换皮肤了:)
Uri uri = new Uri("ExpressionLight.xml", UriKind.Relative); ImplicitStyleManager.SetResourceDictionaryUri(LayoutRoot, uri); ImplicitStyleManager.SetApplyMode(LayoutRoot, ImplicitStylesApplyMode.Auto); ImplicitStyleManager.Apply(LayoutRoot);
把你的根Panel设置模板,他内部的东东会自动更换,这样就可以了- 已编辑 李庆_八爪熊Moderator 2009年6月22日 0:53
- 已标记为答案 Allen Chen - MSFTModerator 2009年6月26日 7:05