wq8438
wq8438
采纳率100%
2017-12-08 07:45 阅读 2.5k
已采纳

WPF自定义控件样式设置后控件默认模板失效

5

创建了一个自定义控件,在使用的时候想设置一个Style控制一个界面内的所有该控件的样式,发现设置了样式之后控件的模板失效了,我可以理解为新设置的样式将该自定义控件的默认样式覆盖了所以读取不到模板。但是WPF本身的一些控件却不受此限制,比如buttn控件我可以设置style但是它本身的模板却没有失效。我想请问如何能做到这种效果。

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

4条回答 默认 最新

  • 已采纳
    qq_37524684 子幽 2017-12-08 08:00

    并不是这样的哦,你设置的样式不与它自带的样式冲突(既:它没有对这个样式进行设置),所以你才觉得没影响

    点赞 2 评论 复制链接分享
  • weixin_41317925 weixin_41317925 2017-12-08 07:50

    KEYI 比如buttn控件我可以设置style但是它本身的模板却没有失效

    点赞 1 评论 复制链接分享
  • wq8438 wq8438 2017-12-08 08:10

    public MyButton()
    {
    DefaultStyleKey = typeof(MyButton);
    Resources.Source = new System.Uri("/MyControls;component/Themes/Generic.xaml", System.UriKind.Relative);
    }

    感谢上面两位仁兄,我新建了一个demo重新试验了一次,发现问题出在哪里了,因为我单独的创建了一个控件库,怕有一些资源找不到,所以我在这里面设置了resource,这行代码导致了我的问题,修改了一下载入资源的结构发现可行了。

    点赞 评论 复制链接分享
  • jixiangsichuan 戢翔 2020-01-13 17:36

    图片说明
    WPF样式模板

    你应该是没有理解到WPF的样式和模板的用法和区别,你可以 参考一下我上面发的Demo,里面有大量通用控件样式,模板封装,包括Demo,你可以下载下来学习,使用。

    点赞 评论 复制链接分享

相关推荐