我想在我的应用程序中为 GTK 和 /use/ 创建一个自定义样式。
即使我知道如何创建样式,应用程序也会使用系统默认样式(或运行应用程序的用户的默认选择)。是否可以覆盖它,以便我的应用程序始终使用我为它创建的样式(皮肤)?
您可以将整个 Mono Runtime(19 mb 开销)嵌入到您的应用程序中。这样就不会有任何依赖关系,您的用户甚至不需要安装 .NET 或 MONO。参考以下链接: http ://www.mono-project.com/Embedding_Mono
您可以将所有 GTK# 程序集复制到您的程序目录中。但是不推荐它,因为如果用户安装了另一个版本的 Gtk 运行时,您可能会遇到很多问题。
您可以将 GTK# 安装程序与应用程序的 Windows 安装程序集成。
您可以使用部署管理/依赖管理软件,但这很昂贵,因为所有好的都是适当的。
另请参阅以下链接:
http://www.mono-project.com/Embedding_Mono
希望它有帮助。
您需要查看GtkCssProvider。这是 Gtk 中用于解析和加载调整后的 css 主题的类,您需要为您的应用程序设置一个新的提供程序并让该提供程序加载您的自定义主题。相关的功能在那里,或者足够接近。