- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我正在 MS Windows 上使用 Xamarin Studio 5.4 编写 GTK Sharp (v2.12) 应用程序。安装的Mono版本是3.2.3(但是我是用.Net工具链编译的,因为Xamarin不允许我用Mono工具链编译)。
情况是,当我从 Xamarin Studio 或使用 Mono 运行应用程序时,我的外观和感觉相对不错,但是当我使用 .Net 运行应用程序(双击可执行文件)时,外观感觉很糟糕。
我试图欺骗应用程序加载一个像样的主题...但是当我从 .Net 执行它时它什么也不做(但是当我使用 Mono 时很容易看到变化)。
这是我试过但不起作用的代码(我有 GTK 主题 rc 文件的本地副本):
// It works on Mono, but not on .Net
Gtk.Rc.Parse("Resources/GTK/windows-theme.gtkrc");
我也试过:
// This does not work at all (on MS Windows)
Gtk.Settings.Default.ThemeName = "MS-Windows";
但这不会改变任何东西,即使使用 Mono 引擎也是如此。
这是使用 Mono 的应用程序的样子:
以及它在 .Net 引擎下运行的样子:
感谢您的关注:)。
最佳答案
好吧,我找到了问题的答案 :D。
我没有尝试加载特定的 GTK 主题,但解决了它使 .Net 正常工作,而无需复制程序目录中的所有 DLL 文件。
我在 Xamarin 开发论坛中找到了这个帖子:
在此线程中,Xamarin 开发人员解释了他们如何解决依赖项加载问题。关键是在 Application.Init() 调用之前调用 CheckWindowsGTK 方法。 CheckWindowsGTK 在此文件中定义,来自 Monodevelop 源:
提示只有当程序在 Windows 上运行时才调用 CheckWindowsGTK 很重要。
关于.net - 如何在 MS Windows 上加载 GTK Sharp 主题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25972700/
我是一名优秀的程序员,十分优秀!