xamarin - 如何将琐碎的 OpenGL 功能添加到 Xamarin 表单应用程序
问题描述
任何人都可以帮忙解决以下问题吗?
我有一个简单的 Xamarin 表单应用程序正在运行,我想添加一个 OpenTK 视图。
以下工作正常:
在我的 MainPage.xaml.cs 中,我有一个按钮的以下事件处理程序,每次单击都会生成一个空的 OpenTK 视图:
private void OnXAMLButtonClicked(object sender, EventArgs e)
{
var view = new OpenGLView { HasRenderLoop = true };
view.HeightRequest = 300;
view.WidthRequest = 300;
view.OnDisplay = r =>
{
//GL.ClearColor(red, green, blue, 1.0f);
};
m_SL.Children.Add(view);
}
(其中 m_SL 是我的 StackLayout 的名称)。
每次点击我都会得到一个新的黑色窗口。伟大的。
现在,看到注释掉的那一行,那是因为值 GL 是未定义的。
此代码来自此处的简单示例:
https://docs.microsoft.com/en-us/dotnet/api/xamarin.forms.openglview?view=xamarin-forms
我在该示例的顶部看到以下内容:
使用 OpenTK.Graphics.ES30;
但我不能包括这个,OpenTK 不被识别为命名空间。我希望必须将其添加为参考,但是如何添加呢?
我可以在我的 .Android 项目中添加对它的引用,以便我可以在 MainActivity.cs 页面中添加上面的 using 语句,但这不是它所属的位置(尽管我看到我随后定义了 GL,所以这证明我需要将这些 using 语句添加到我的 MainPage.xaml.cs 中才能定义 GL),但就像我说的,如何为包含 MainPage.xaml.cs 的项目添加对 OpenTK 的引用。
谢谢你的帮助,米奇。
- - - 编辑 - - -
感谢发帖者到目前为止对我的帮助,新问题是对 System.Private.Core 的引用,无法解决。这是我创建此错误的完整工作流程:
1:新建一个项目。
这给了我三个项目:
2:在 OGLMobile 项目中更改为 .NET 标准 2.1:
.Android 和 .iOS 项目没有 .NET 选择选项。
3:在OGLMobile项目中添加对OpenTK的引用:
4:OGLMobile 项目构建良好,但 .Android 项目提供:
如果我删除对 OpenTK 的引用,一切都会重新构建。如果我将 OpenTK Nuget 包添加到 .Android 项目中没有区别,我仍然会遇到相同的错误。
这么近,谢谢你的建议。
解决方案
推荐阅读
- unix - 随机生成特定长度的unix中的数字和字符串
- c# - 如何从 System.IO.File 调用访问 PSDrive?
- spring-kafka - 时间窗口内的 Spring Kafka 批处理
- sql - 当我尝试运行“更新数据库”时,为什么在 PM 控制台中出现“由于 StackOverflowException 而终止进程”
- html - 将 HTML 表格抓取到 UITableView
- javascript - 这个“和号运算符”如何在 JavaScript 中指向数组索引?
- javascript - 如何通过检查元素找到文件的位置?
- python - python中是否有与string.format()相反的用于从字符串中设置/提取值
- javascript - 如何验证文本输入中的字符是否为英文字符?
- flutter - Flutter/Dart:在这种情况下如何传递数据?