我正在MS Windows上使用Xamarin Studio 5.4编写一个GTK Sharp(v2.12)应用程序。 安装的Mono版本是3.2.3(但我使用.Net工具链进行编译,因为Xamarin不允许我使用Mono工具链进行编译)。
这种情况是,当我从Xamarin工作室运行应用程序或使用单声道,那么我有一个相对漂亮的外观和感觉,但是当我运行应用程序使用.Net(双击可执行文件),那么外观和感觉是可怕。
我试图欺骗应用程序来加载一个体面的主题…但是,当我从.Net(但是当我使用单声道然后很容易看到更改)它什么都不做。
这是我试过的代码,但不起作用(我有一个GTK主题rc文件的本地副本):
当创build一个新线程时,对GUI的更改没有被制作(C#)
MSBuild“sgen.exe”丢失
系统在哪里存储图标的位置?
.NET核心,Windows Nano服务器和System.Management.Automation
在Windows 10上避免使用Convert.T@R_404_6487@uble('Infinity')的FormatException
// 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";
但即使使用单声道引擎,这也不会改变任何事情。
这是应用程序看起来如何使用单声道:
以及它如何运行在.net引擎下:
感谢您的关注 :) 。
Windows服务 – OnSessionChange – 慢速通知
我的dotnet应用程序不能在Windows Server 2003上运行
.NET CLR不需要操作系统?
WCF应用程序无法打开频道
DLL被标记为DELETEPENDING
那么,我已经找到了我的问题的答案:D。
我没有尝试加载特定的GTK主题,但解决它使.Net正常工作,而不必复制程序目录中的所有DLL文件。
我在Xamarin开发论坛中发现了这个线程:
http://forums.xamarin.com/discussion/15568/unable-to-load-dll-libgtk-win32-2-0-0-dll
在这个线程中,Xamarin开发人员解释了他们如何解决依赖加载问题。 关键是在Application.Init()调用之前调用CheckWindowsGTK方法。 CheckWindowsGTK是从Monodevelop源文件中定义的:
https://github.com/mono/monodevelop/blob/master/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide/IdeStartup.cs#L359
提示:只有当程序在Windows上运行时,才能调用CheckWindowsGTK。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。