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) |