OpenGLView 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
显示 OpenGL 内容的 View。
[Xamarin.Forms.RenderWith(typeof(Xamarin.Forms.Platform._OpenGLViewRenderer))]
public sealed class OpenGLView : Xamarin.Forms.View, Xamarin.Forms.IElementConfiguration<Xamarin.Forms.OpenGLView>, Xamarin.Forms.IOpenGlViewController
type OpenGLView = class
inherit View
interface IOpenGlViewController
interface IViewController
interface IVisualElementController
interface IElementController
interface IElementConfiguration<OpenGLView>
- 继承
- 属性
- 实现
注解
OpenGLView最容易使用共享项目进行编程,在这种情况下,对 OpenTK 的引用非常简单。 以下示例演示了一个具有呈现循环的简单 OpenGL 应用:
using Xamarin.Forms;
using OpenTK.Graphics.ES30;
namespace opengl
{
public class OpenGLPage : ContentPage
{
float red, green, blue;
public OpenGLPage ()
{
Title = "OpenGL";
var view = new OpenGLView { HasRenderLoop = true };
var toggle = new Switch { IsToggled = true };
var button = new Button { Text = "Display" };
view.HeightRequest = 300;
view.WidthRequest = 300;
view.OnDisplay = r => {
GL.ClearColor (red, green, blue, 1.0f);
GL.Clear ((ClearBufferMask.ColorBufferBit | ClearBufferMask.DepthBufferBit));
red += 0.01f;
if (red >= 1.0f)
red -= 1.0f;
green += 0.02f;
if (green >= 1.0f)
green -= 1.0f;
blue += 0.03f;
if (blue >= 1.0f)
blue -= 1.0f;
};
toggle.Toggled += (s, a) => {
view.HasRenderLoop = toggle.IsToggled;
};
button.Clicked += (s, a) => view.Display ();
var stack = new StackLayout {
Padding = new Size (20, 20),
Children = {view, toggle, button}
};
Content = stack;
}
}
}

构造函数
| OpenGLView() |
新建具有默认值的 OpenGLView 对象。 |
字段
| HasRenderLoopProperty |
标识 HasRenderLoop 可绑定属性。 |
属性
| AnchorX |
获取或设置任何转换的中心点的 X 部分,相对于元素的边界。 这是一种可绑定属性。 (继承自 VisualElement) |
| AnchorY |
获取或设置任何转换的中心点的 Y 部分,相对于元素的边界。 这是一种可绑定属性。 (继承自 VisualElement) |
| AutomationId |
获取或设置允许自动化框架查找此元素并与其交互的值。 (继承自 Element) |
| Background |
显示 OpenGL 内容的 View。 (继承自 VisualElement) |
| BackgroundColor |
获取或设置将填充 VisualElement 背景的颜色。 这是一种可绑定属性。 (继承自 VisualElement) |
| Batched |
供 Xamarin.Forms 平台内部使用。 (继承自 VisualElement) |
| Behaviors |
获取与此元素关联的 Behavior 列表。 这是一种可绑定属性。 (继承自 VisualElement) |
| BindingContext |
获取或设置对象,该对象包含将被属于此 BindableObject 的绑定属性设定为目标的属性。 (继承自 BindableObject) |
| Bounds |
获取元素的边界。 (继承自 VisualElement) |
| class |
显示 OpenGL 内容的 View。 (继承自 NavigableElement) |
| ClassId |
获取或设置用于标识语义相似元素集合的值。 (继承自 Element) |
| Clip |
显示 OpenGL 内容的 View。 (继承自 VisualElement) |
| DisableLayout |
供 Xamarin.Forms 平台内部使用。 (继承自 VisualElement) |
| Dispatcher |
显示 OpenGL 内容的 View。 (继承自 BindableObject) |
| EffectControlProvider |
供 Xamarin.Forms 平台内部使用。 (继承自 Element) |
| Effects |
应用于此项的效果列表。 (继承自 Element) |
| FlowDirection |
获取或设置布局流方向。 (继承自 VisualElement) |
| GestureController |
获取视图的手势控制器。 (继承自 View) |
| GestureRecognizers |
与此视图关联的手势识别器的集合。 (继承自 View) |
| HasRenderLoop |
此 OpenGLView 是否具有自定义呈现循环。 |
| Height |
获取此元素的当前呈现高度。 这是一种只读可绑定属性。 (继承自 VisualElement) |
| HeightRequest |
获取或设置此元素的所需高度替代。 (继承自 VisualElement) |
| HorizontalOptions |
获取或设置 LayoutOptions,它定义元素在布局周期中的布局方式。 这是一种可绑定属性。 (继承自 View) |
| Id |
获取可用于通过运行应用程序唯一地标识元素的值。 (继承自 Element) |
| InputTransparent |
获取或设置一个值,该值指示此元素是否应涉及用户交互周期。 这是一种可绑定属性。 (继承自 VisualElement) |
| IsEnabled |
获取或设置一个值,该值指示是否在用户界面中启用此元素。 这是一种可绑定属性。 (继承自 VisualElement) |
| IsFocused |
获取一个值,该值指示当前是否聚焦此元素。 这是一种可绑定属性。 (继承自 VisualElement) |
| IsInNativeLayout |
供 Xamarin.Forms 平台内部使用。 (继承自 VisualElement) |
| IsNativeStateConsistent |
供 Xamarin.Forms 平台内部使用。 (继承自 VisualElement) |
| IsPlatformEnabled |
供 Xamarin.Forms 平台内部使用。 (继承自 VisualElement) |
| IsTabStop |
获取或设置指明此元素是否包含在选项卡导航中的值。 这是一种可绑定属性。 (继承自 VisualElement) |
| IsVisible |
获取或设置一个值,该值确定此元素是否应属于可视化树的一部分。 这是一种可绑定属性。 (继承自 VisualElement) |
| LogicalChildren |
供 Xamarin.Forms 平台内部使用。 (继承自 Element) |
| Margin |
获取或设置视图的边距。 (继承自 View) |
| MinimumHeightRequest |
获取或设置一个值,该值将替代元素在布局期间请求的最小高度。 (继承自 VisualElement) |
| MinimumWidthRequest |
获取或设置一个值,该值将替代元素在布局期间请求的最小宽度。 (继承自 VisualElement) |
| Navigation |
显示 OpenGL 内容的 View。 (继承自 NavigableElement) |
| NavigationProxy |
显示 OpenGL 内容的 View。 (继承自 NavigableElement) |
| OnDisplay |
替代以创建自定义呈现循环。 |
| Opacity |
获取或设置呈现元素时应用于元素的不透明度值。 这是一种可绑定属性。 (继承自 VisualElement) |
| Parent |
获取或设置元素的父元素。 (继承自 Element) |
| ParentView |
已过时.
获取作为 VisualElement 的此元素的最近的上级元素。 (继承自 Element) |
| Platform |
已过时.
显示 OpenGL 内容的 View。 (继承自 Element) |
| RealParent |
供 Xamarin.Forms 平台内部使用。 (继承自 Element) |
| Resources |
获取或设置本地资源字典。 (继承自 VisualElement) |
| Rotation |
获取或设置呈现元素时围绕 Z 轴(仿射旋转)的旋转角度(以度为单位)。 (继承自 VisualElement) |
| RotationX |
获取或设置呈现元素时围绕 X 轴(透视旋转)的旋转角度(以度为单位)。 (继承自 VisualElement) |
| RotationY |
获取或设置呈现元素时围绕 Y 轴(透视旋转)的旋转角度(以度为单位)。 (继承自 VisualElement) |
| Scale |
获取或设置应用于元素的比例因子。 (继承自 VisualElement) |
| ScaleX |
获取或设置要应用于 X 方向的缩放值。 (继承自 VisualElement) |
| ScaleY |
获取或设置要应用于 Y 方向的缩放值。 (继承自 VisualElement) |
| Style |
显示 OpenGL 内容的 View。 (继承自 NavigableElement) |
| StyleClass |
显示 OpenGL 内容的 View。 (继承自 NavigableElement) |
| StyleId |
获取或设置用于唯一地标识元素的用户定义的值。 (继承自 Element) |
| TabIndex |
显示 OpenGL 内容的 View。 (继承自 VisualElement) |
| TranslationX |
获取或设置元素的 X 转换增量。 (继承自 VisualElement) |
| TranslationY |
获取或设置元素的 Y 转换增量。 (继承自 VisualElement) |
| Triggers |
获取与此元素关联的 Trigger 列表。 这是一种可绑定属性。 (继承自 VisualElement) |
| VerticalOptions |
获取或设置 LayoutOptions,它定义元素在布局周期中的布局方式。 这是一种可绑定属性。 (继承自 View) |
| Visual |
显示 OpenGL 内容的 View。 (继承自 VisualElement) |
| Width |
获取此元素的当前呈现宽度。 这是一种只读可绑定属性。 (继承自 VisualElement) |
| WidthRequest |
获取或设置此元素的所需宽度替代。 (继承自 VisualElement) |
| X |
获取此元素的当前 X 位置。 这是一种只读可绑定属性。 (继承自 VisualElement) |
| Y |
获取此元素的当前 Y 位置。 这是一种只读可绑定属性。 (继承自 VisualElement) |
方法
事件
| BatchCommitted |
供 Xamarin.Forms 平台内部使用。 (继承自 VisualElement) |
| BindingContextChanged |
只要 BindingContext 属性更改就会引发。 (继承自 BindableObject) |
| ChildAdded |
每当将子元素添加到元素时就会发生。 (继承自 Element) |
| ChildRemoved |
每当从元素中删除子元素时就会发生。 (继承自 Element) |
| ChildrenReordered |
重新排序 VisualElement 的子级时发生。 (继承自 VisualElement) |
| DescendantAdded |
每当将子元素添加到元素子树时就会发生。 (继承自 Element) |
| DescendantRemoved |
每当从元素子树中删除子元素时就会发生。 (继承自 Element) |
| DisplayRequested |
供 Xamarin.Forms 平台内部使用。 |
| FocusChangeRequested |
供 Xamarin.Forms 平台内部使用。 (继承自 VisualElement) |
| Focused |
元素接收焦点时发生。 (继承自 VisualElement) |
| MeasureInvalidated |
可视元素的布局无效时引发的事件。 (继承自 VisualElement) |
| PlatformSet |
已过时.
显示 OpenGL 内容的 View。 (继承自 Element) |
| PropertyChanged |
在属性已更改时引发。 (继承自 BindableObject) |
| PropertyChanging |
在属性将要更改时引发。 (继承自 BindableObject) |
| SizeChanged |
当此元素上的 Width 或 Height 属性的值发生更改时发生。 (继承自 VisualElement) |
| Unfocused |
当元素丢失焦点时发生。 (继承自 VisualElement) |
显式接口实现
| IDynamicResourceHandler.SetDynamicResource(BindableProperty, String) |
供 Xamarin.Forms 平台内部使用。 (继承自 BindableObject) |
| IElementController.SetValueFromRenderer(BindableProperty, Object) |
供 Xamarin.Forms 平台内部使用。 (继承自 Element) |
| IGestureController.CompositeGestureRecognizers |
供 Xamarin.Forms 平台内部使用。 (继承自 View) |
| INameScope.RegisterName(String, Object) |
仅限内部使用。 (继承自 Element) |
| IVisualElementController.EffectiveFlowDirection |
获取平台上元素的有效可视流方向,考虑区域设置和逻辑流设置。 (继承自 VisualElement) |
| IVisualElementController.InvalidateMeasure(InvalidationTrigger) |
此方法仅供内部使用。 (继承自 VisualElement) |