1. 下载http://www.codeproject.com/Articles/22575/WPF-Themes-and-Skins-Engine该开源代码
  2. 或者下载我提供的文件即可 https://files.cnblogs.com/limaoshengcpp/skin_dll.rar
  3. 动态链接库的导入

内部库References

PresentationCore

PresentationFramework

PresentationFramework.Classic

PresentationFramework.Luna

外部库

Tomers.WPF.Themes.dll

其他Style做成的动态链接库

  1. 在要加载皮肤的界面中加入成员变量

using System.Reflection;

using Tomers.WPF.Themes.Skins;

 

private readonly List<Skin> _skins = new List<Skin>();

3.在主函数处加入如下代码:

InitializeSkins();  

DataContext = _skins;

添加函数:

private void InitializeSkins()

{

            _skins.Add(new DirectAssemblySkin("Simple", @"Skins\Tomers.WPF.Themes.SimpleSkin.dll"));

            _skins.Add(new AppDomainAssemblySkin("Simple", @"Skins\Tomers.WPF.Themes.SimpleSkin.dll"));

            _skins.Add(new LooseXamlSkin("Classic", new Uri(@"Skins\Classic.xaml", UriKind.Relative)));

            _skins.Add(new AppDomainAssemblySkin("Classic", new AssemblyName("PresentationFramework.Classic, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35")));

            _skins.Add(new ReferencedAssemblySkin("Luna Normal", new Uri("PresentationFramework.Luna;V3.0.0.0;31bf3856ad364e35;component/themes/luna.normalcolor.xaml", UriKind.Relative)));

                                          _skins.Add(new AppDomainAssemblySkin("Aero", new AssemblyName("PresentationFramework.Aero, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35")));

                                          _skins.Add(new AppDomainAssemblySkin("Luna Metalic", new AssemblyName("PresentationFramework.Luna, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"), "themes/luna.metallic.xaml"));

                                          _skins.Add(new AppDomainAssemblySkin("Royale", new AssemblyName("PresentationFramework.Royale, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35")));

}

 

InitializeSkins函数中的

_skins.Add(new DirectAssemblySkin("Simple", @"Skins\Tomers.WPF.Themes.SimpleSkin.dll"));

            _skins.Add(new AppDomainAssemblySkin("Simple", @"Skins\Tomers.WPF.Themes.SimpleSkin.dll"));

            _skins.Add(new LooseXamlSkin("Classic", new Uri(@"Skins\Classic.xaml", UriKind.Relative)));

@后面要求有必要的文件.

 

4.更改皮肤

 

Skin skin = _skins[0]  as  Skin;

skin.Load();

这样就完成了皮肤的一个调用。

 

5.注意.net版本必须是3.0或者3.5不可以是4.0

相关文章:

  • 2021-06-15
  • 2022-12-23
  • 2021-10-22
  • 2022-12-23
  • 2022-02-04
  • 2022-12-23
猜你喜欢
  • 2021-10-30
  • 2021-09-28
  • 2022-12-23
  • 2021-10-25
  • 2022-12-23
  • 2021-06-05
相关资源
相似解决方案