MXPA04008849A - Interfase de programacion para una plataforma de computo. - Google Patents

Interfase de programacion para una plataforma de computo.

Info

Publication number
MXPA04008849A
MXPA04008849A MXPA04008849A MXPA04008849A MXPA04008849A MX PA04008849 A MXPA04008849 A MX PA04008849A MX PA04008849 A MXPA04008849 A MX PA04008849A MX PA04008849 A MXPA04008849 A MX PA04008849A MX PA04008849 A MXPA04008849 A MX PA04008849A
Authority
MX
Mexico
Prior art keywords
class
functions
group
data
services
Prior art date
Application number
MXPA04008849A
Other languages
English (en)
Inventor
L Bogdan Jeffrey
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of MXPA04008849A publication Critical patent/MXPA04008849A/es

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/541Interprogram communication via adapters, e.g. between incompatible applications
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/547Remote procedure calls [RPC]; Web services

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Stored Programmes (AREA)
  • Input From Keyboards Or The Like (AREA)
  • Digital Computer Display Output (AREA)

Abstract

Una interfase de programacion proporciona funciones para generar aplicaciones, documentos, presentaciones de medios y otro contenido. Estas funciones permiten que los desarrolladores obtengan servicios de un sistema operativo, un servicio modelo de objeto u otro sistema o servicio.

Description

INTERFASE DE PROGRAMACIÓN PARA UNA PLATAFORMA DE COMPUTO Campo de la Invención La presente invención se refiere a un software (programa) y el desarrollo de dicho software Mas particularmente, la presente invención se refiere a una interfase de programación que facilita el uso de una plataforma de software mediante softwares de aplicación y hardware de computo Antecedentes de la Invención Muy pronto, el software de computo llego a ser categorizado como un software de "sistema operativo" o software de "aplicación" Hablando de una manera general, una aplicación es un software que significa realizar una tarea especifica para el usuario de la computadora, tal como solucionar una ecuación matemática o procesar un procesamiento de palabras de soporte El sistema operativo es el software que maneja y controla el hardware de computo La meta del sistema operativo es hacer disponibles los recursos de la computadora al programador de la aplicación mientras que al mismo tiempo, oculta la complejidad necesaria para realmente controlar el hardware El sistema operativo hace disponibles los recursos por medio de las funciones que son colectivamente conocidas como la Interfase de Software de Aplicación o API El termino API es también utilizado haciendo referencia a una sola de estas funciones Las funciones con frecuencia son agrupadas en términos de los recursos o servicios proporcionan al programador de la aplicación El software de aplicación solicita recursos invocando las funciones API individuales Las funciones API también sirven como el medio por medio del cual el sistema operativo proporciona los mensajes y la información que son retransmitidas al software de aplicación Ademas de los cambios en el hardware (equipo), otro factor que lleva a la evolución del software del sistema operativo, ha sido el deseo de simplificación y el desarrollo de un software de aplicación de velocidad El desarrollo del software de aplicación puede ser una tarea desalentadora, que a veces requiere años de tiempo del desarrollador para crear un software sofisticado con millones de lineas de códigos Para un sistema operativo popular, tal como las diferentes versiones del sistema operativo Microsoft Windows®, los desarrolladores del software de aplicación escriben cada año miles de aplicaciones diferentes que utilizan el sistema operativo Se requiere una base coherente y que se pueda utilizar para el sistema operativo para que soporte muchos desarrolladores de aplicaciones muy diversos Con frecuencia, el desarrollo del software de aplicación se puede hacer mas simple haciendo el sistema operativo mas complejo Es decir, si una función puede ser útil para varios softwares de aplicación diferentes, puede ser mejor escribirla una vez para incluirla en el sistema operativo, que requerir docenas de desabolladores de software para escribirlo docenas de veces, para su inclusión en docenas de diferentes aplicaciones De esta manera, si el sistema operativo soporta un amplio rango de la funcionalidad común requerida por un numero de aplicaciones, se pueden lograr ahorros importantes en los costos del desarrollo del software de aplicaciones y en tiempo Independientemente de en donde se encuentre la linea entre el sistema operativo y el sistema de aplicación, es claro que para un sistema operativo útil, el API entre el sistema operativo y el hardware de computo y el software de aplicación es tan importante como la operación interna eficiente del sistema operativo mismo Desde hace unos cuantos años, la adopción universal de la Internet y la tecnología de red en general, han cambiado el panorama para los desabolladores de softwares de computo Tradicionalmente, los desabolladores del software se enfocaban en aplicaciones de software de un solo sitio para computadoras de escritorio independientes o computadoras basadas en la LAN que eran conectadas a un numero limitado de otras computadoras por medio de una red de área local (LAN) Dichas aplicaciones de software eran a las que se referían generalmente como productos de "envolturas compactadas" debido a que el software era comercializado y vendido en un paquete de envoltura compactado Las aplicaciones utilizaron APIs bien definidos para tener acceso al sistema operativo subyacente de la computadora Conforme evoluciono la Internet y gano una aceptación difundida, la industria comenzó a reconocer el poder de las aplicaciones de las computadoras centrales en diferentes sitios en la red mundial (World Wide Web) (o simplemente la "Web ) En la red mundial, los clientes de cualquier parte podrían presentar solicitudes para aplicaciones basadas en un servidor centralizado en diferentes localizaciones y recibir respuestas en fracciones de segundos Sin embargo, estas aplicaciones de la Web, generalmente eran desarrolladas utilizando la misma plataforma del sistema operativo que originalmente fue desarrollada para las maquinas computadoras independientes o las computadoras de redes locales Desafortunadamente, en algunos casos, estas aplicaciones no se transfieren de manera adecuada al régimen de computo distribuido La plataforma subyacente simplemente no fue construida con la idea de soportar números ilimitados de computadoras interconectadas Con el objeto de acomodar el cambio al ambiente de computo distribuido que estaba siendo guiado por la Internet, Microsoft Corporation desarrollo una plataforma de red conocido como NET" Framework (leerlo como "Dot Net") Microsoft® NET es el software para conectar gente, información, sistemas y aparatos La plataforma permite que los desarroMadores creen servicios de la Web que ejecutaran por la Internet Este cambio dinámico fue acompañado por un conjunto de funciones API para la Estructura NET™ de Microsoft Conforme se fue haciendo crecientemente mas común el uso de la NET™ Framework, han sido identificados medios para aumentar la eficiencia y/o el funcionamiento de la plataforma Los inventores han desarrollado un conjunto único de funciones de interfase de programación para permitir dicha eficiencia y/o funcionamiento aumentado Sumario de la Invención La interfase de programación proporciona funciones para generar aplicaciones, documentos, presentaciones de medios y otro contenido Estas funciones permiten que los desarroMadores obtengan servicios de un sistema operativo, un servicio de modelo de objeto u otro sistema o servicio En una modalidad, las funciones permiten que un desarrollador genere una interfase gráfica del usuario Breve Descripción de los Dibuios En todos los dibujos se utilizan números similares para hacer referencia a características similares La figura 1 ilustra una arquitectura de red en la cual los clientes acceden a los servicios de la Web por la Internet, utilizando protocolos convencionales La figura 2 es un diagrama de bloque de una arquitectura de software para una plataforma de red, la cual incluye una interfase de programa de aplicación (API) La figura 3 es un diagrama de bloque de nombres de espacios únicos soportados por la API, asi como las clases de función de las diferentes funciones API La figura 4 es un diagrama de bloque de una computadora de ejemplo que puede ejecutar toda o parte de la arquitectura del software Las figuras 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, y 16, ilustra las diferentes im plementaciones de ejemplo de una interfase de programación Descripción Detallada de la Invención La descripción se refiere a una interfase de programación de aplicación (API), para una plataforma de red sobre la cual los desarrolladores pueden construir aplicaciones y servicios de la Web Mas particularmente, se describe una API para los sistemas operativos que utilizan la plataforma de la red tal como la NET™ Framework, creada por Microsoft Corporation La NET™ Framework es una plataforma de software para servicios de la Web y aplicaciones de la Web implementada en un ambiente de computo distribuido Representa la siguiente generación del computo de Internet, utilizando estándares abiertos de comunicación para comunicarse entre servicios de la Web acoplados de manera suelta que están colaborando para realizar una tarea particular En la implementacion descrita, la plataforma de la red utiliza el XML (lenguaje de marca extensible), un estándar abierto para describir datos El XML es administrado por un Consorcio de la Red Mundial (W3C) El XML es utilizado para definir los elementos de los datos en una pagina Web y en documentos de negocio a negocio El XML utiliza una estructura de marca similar al HTML, sin embargo, mientras el HTML define la forma en que los elementos son desplegados en la pantalla, el XML define lo que contienen dichos elementos El HTML utiliza marcas previamente definidas, pero el XML permite que las marcas sean definidas por el desarrollador de la pagina Por lo tanto, se pueden identificar virtualmente cualquier partida de datos, permitiendo que las paginas Web funcionen igual que los registros de bases de datos A través del uso del XML y otros protocolos abiertos, tales como el Protocolo de Acceso Simple de Objetos (SOAP), la plataforma de red permite la integración de un amplio rango de servicios que pueden ser diseñados para las necesidades del usuario Aunque las modalidades aquí descritas se describen en conjunto con el XML y otros estándares abiertos, estos no son requeridos para la operación de la invención reivindicada Como se usa en la presente descripción, la frase interfase de aplicación del software o API incluye interfases tradicionales que emplean métodos e invocaciones de funciones, asi como invocaciones remotas (por ejemplo, una procuración o una relación de asistente de instalación), o las invocaciones SOAP/XML Deberá apreciarse que en algunas de las descripciones de los espacios de nombres siguientes, las descripciones de ciertas clases, interfases, enumeraciones y delegados se dejaron en blanco Se podra encontrar una descripción mas completa de estas clases, interfases, enumeraciones y delegados en el asunto materia de los discos compactos AMBIENTE DE RED DE EJEMPLO La figura 1 muestra un ambiente de red 100 en el cual puede ser implementada la plataforma de red, tal como la NET™ Framework, El ambiente de red 100 incluye servicios representativos de la Web 102(1), 102(N), los cuales proporcionan servicios a los que se puede tener acceso por la red 104 (por ejemplo, Internet) Los servicios de la Web, a los que se hace referencia generalmente como el numero 102 son componentes de aplicación que se pueden programar y que se pueden volver a usar e interactuan programáticamente por la red 104, generalmente a través de los protocolos Web estándar de la industria, tales como XML, SOAP, WAP (protocolo de aplicación inalámbrica), HTTP, (protocolo de transporte de hipertexto) y SMPT (protocolo de transferencia simple de correo) aunque también se pueden utilizar otros medios para interactuar con los servicios de la Web por la red, tales como la Llamada de Procedimiento Remoto (RPC), o la tecnología de tipo de corredor de objetos Un servicio de la Web puede ser auto-descrito y con frecuencia definido en términos de formatos y ordenamiento de mensajes Los servicios de la Web 102 son accesibles directamente por otros servicios (tal y como lo representa el enlace de comunicación 106) o una aplicación de software, tal como la aplicación de la Web 110 (tal y como se representa por los enlaces de comunicación 112 y 114) Cada servicio de la Web 102 esta ilustrado como que incluye uno o mas servidores que ejecutan el software para manejar las solicitudes de servicios particulares Dichos servicios con frecuencia mantienen bases de datos que almacenan información para que se vuelvan a servir de retorno a los solicitantes Los servicios de la Web pueden estar configurados para realizar cualquiera de una variedad de servicios diferentes Los ejemplos de los servicios de la Web incluyen, la verificación del nombre de cuenta, notificación, almacenamiento de base de datos, localización de existencias, directorios de localización, elaboración de mapas, música, cartera electrónica, calendario/programador, listas telefónicas, noticias e información, juegos, elaboración de boletos y asi sucesivamente Los servicios de la Web pueden ser combinados entre ellos, y con otras aplicaciones para construir experiencias interactivas inteligentes El ambiente de red 100 también incluye aparatos representativos de cliente 120(1), 120(2), 120(3), 120(4), 120(M), que utilizan los servicios de la Web 102 (representados por el enlace de comunicación 122), y/o la aplicación de la Web 110 (tal y como lo representan los enlaces de comunicación 124, 126, y 128) Los clientes se pueden comunicar entre ellos utilizando también protocolos estándar, representados por el enlace de ejemplo XML 130, entre los clientes 120(3) y 120(4) Los aparatos del cliente, a los que nos referimos generalmente como el numero 120, pueden ser im plementados de muchas maneras diferentes Los ejemplos de las implementaciones posibles del cliente incluyen, sin limitación, computadoras portátiles, computadoras estacionarias, PCs de tableta, cajas de descodificadores de televisiones/señal de cable, aparatos de comunicación inalámbrica, asistentes digitales personales, consolas de juegos, impresoras, fotocopiadoras, y otros aparatos inteligentes La aplicación de la Web 110, es una aplicación diseñada para operar en la plataforma de red y puede utilizar los servicios de la Web 102 cuando maneja y da servicio a solicitudes de los clientes 120 La aplicación de la Web 110 esta compuesta de una o mas aplicaciones de software 130, que operan en la parte superior de una sistema de programación 132, las cuales están siendo ejecutadas en uno o mas servidores 134 u otros sistemas de computo Observar que una porción de la aplicación de la Web 110, puede residir realmente en uno o mas clientes 120 Alternativamente, la aplicación de la Web 110 puede coordinarse con otros softwares en los clientes 120, para realizar realmente sus tareas El sistema de programación 132 es la metodología que soporta las aplicaciones y servicios desarrollados por los desabolladores de aplicación Permite un desarrollo de lenguaje múltiple y una integración continua utilizando lenguajes múltiples de soporte Soporta protocolos abiertos, tales como el SOAP, y encapsula el sistema operativo subyacente y los servicios de modelo de objeto El sistema proporciona un ambiente de ejecución robusto y seguro para lenguajes de programación múltiples y ofrece bibliotecas de clase integrada segura El sistema 132 es una arquitectura de capas múltiples que incluye una capa de interfase de software de aplicación (API) 142, un tiempo de ejecución de lenguaje común (CLR) 144, y una capa operativa de sistemas/servicios 146 Esta arquitectura en capas permite las actualizaciones y modificaciones de las diferentes capas sin impactar otras porciones del sistema Una especificación común de lenguaje (CLS) 140 permite que los diseñadores de diferentes lenguajes escriban códigos que pueden tener acceso a la funcionalidad de biblioteca subyacente La especificación 140 funciona como un contrato entre los diseñadores de lenguaje y los diseñadores de bibliotecas que puede ser utilizado para promover la interoperabilidad del lenguaje Adhiriéndolas a los CLS, las bibliotecas escritas en un lenguaje pueden ser accesibles directamente a los módulos de código escritos en otros lenguajes para lograr una integración continua entre los módulos de código escritos en un lenguaje y los módulos de código escritos en otro lenguaje Una im plementacion de ejemplo detallada de un CLS, se describe en el estándar EC A creado por los participantes en el ECMA TC39/TG3 El lector se puede dirigir al sitio web ECMA a la dirección www ecma ch La capa de API 142 presenta grupos de funciones que pueden invocar las aplicaciones 130 para acceder a los recursos y servicios proporcionados por la capa 146 Exponiendo las funciones API para una plataforma de red, los desarrolladores de aplicación pueden crear aplicaciones Web para sistemas de computo distribuidos que hacen un uso completo de los recursos de la red y otros servicios de la Web, sin necesitar entender los trabajos internoscomplejos de la forma en como operan realmente estos recursos de la red, o como se hacen disponibles Ademas, las aplicaciones de la Web pueden ser escritas en cualquier numero de lenguajes de programación y traducidas en un lenguaje intermedio soportado por un tiempo de ejecución de lenguaje común 144, e incluidos como parte de la especificación de lenguaje común 140 De este modo, la capa API 142 puede proporcionar métodos para una amplia y diversa variedad de aplicaciones Adicionalmente, el sistema 132 puede estar configurado para soportar las invocaciones de la API de las solicitudes remotas que se ejecutan remotamente desde los servidores 134, que alojan el sistema Las aplicaciones representativas 148(1) y 148(2) que residen en los clientes 120(3) y 120(M), respectivamente, pueden utilizar las funciones API haciendo llamadas directamente o indirectamente a la capa API 142 por la red 104 El sistema también puede ser implementado en los clientes El cliente 120(3) representa la situación en la cual el sistema 150 es implementado en el cliente Este sistema puede ser idéntico al sistema basado en el servidor 132, o modificado para propósitos del cliente Alternativamente, el sistema basado en el cliente puede ser condensado en el caso de que el cliente sea un aparato de función limitada o dedicado, tal como un telefono celular, un asistente personal digital, una computadora portátil u otro aparato de comunicación/computo SISTEMA DE PROGRAMACION DE LOS DESARROLLADORES La figura 2 muestra la sistema de programación 132 con mayor detalle La capa de especificación de lenguaje común (CLS) 140 soporta las aplicaciones escritas en una variedad de lenguajes 130(1), 130(2) 130(3), 130(4), 130(K) Dichos lenguajes de aplicación incluyen Visual Basic, C + + , C#, COBOL, Jscript, Perl, Eiffel, Pitón, etc, La especificación de lenguaje común 140 especifica un subconjunto de características o reglas acerca de las característica que, de ser seguidas, permiten que se comuniquen diferentes lenguajes Por ejemplo, algunos lenguajes no soportan un tipo determinado (por ejemplo, un tipo ? n t * " ) que podría ser soportado de otro modo por un tiempo de ejecución de lenguaje común 144 En este caso, la especificación del lenguaje común 140 no incluye el tipo Por otra parte, los tipos que son soportados por todos o la mayor parte de los lenguajes (por ejemplo, el tipo " ? n t [ ]") esta incluido en la especificación de lenguaje común 140 de modo que los desarrolladores de la biblioteca tienen la libertad de utilizarlo y están asegurados de que los lenguajes se pueden manejar Esta es la capacidad para comunicar los resultados en una integración continua entre los módulos de código escritos en un lenguaje y los módulos de código escritos en otro lenguaje Debido a que los lenguajes diferentes están particularmente bien adecuados para tareas particulares, la integración continua entre los lenguajes permite que un desarrollador seleccione un lenguaje particular para un modulo de código particular, con la capacidad de utilizar ese modulo de código con los módulos escritos en lenguajes diferentes El tiempo de ejecución de lenguaje común 144 permite el desarrollo de un lenguaje múltiple continuo, con la herencia de lenguaje cruzado, y proporciona un ambiente de ejecución robusto y seguro para los lenguajes de programación múltiples Para mayor información sobre la especificación del lenguaje común 140 y el tiempo de ejecución del lenguaje común 144, el lector deberá consultar las solicitudes también pendientes tituladas "Método y Sistema para Recopilar Lenguajes Múltiples", presentada el 6/21/2000 (serie numero 09/598,105), y "Sistema y Método Unificado de Tipo de Datos', presentada el 7/10/2000 (serie numero 09/613,289), las cuales están incorporadas a la presente descripción como referencia El sistema 132 encapsula el sistema operativo 146(1) (es decir, los sistemas operativos de la marca Windows® y los servicios de modelo de objeto 146(2) (por ejemplo, el Modelo de Objeto de Componente (COM), o el COM distribuido) El sistema operativo 146(1) proporciona funciones convencionales, tales como la administración de archivos, notificación, manejo de eventos, interfases del usuario (por ejemplo, la apertura de ventanas, menus, diálogos, etc ), la seguridad, autenticación, verificación procesos y series de artículos, administración de memoria y asi sucesivamente Los servicios del modelo de objeto 146(2) proporcionan la interfase con otros objetos para realizar diferentes tareas Las llamadas hechas a la capa API 142 son enviadas a la capa de tiempo de ejecución del lenguaje común 144 para la ejecución local por parte del sistema operativo 146(1) y/o los servicios de modelo de objeto 146(2) Los grupos API, API 142 funcionan en espacios de nombre (asignación) múltiples Los espacios de nombre esencialmente definen una colección de clases, interfases, delegados, enumeraciones y estructuras, los cuales son denominados colectivamente "tipos", que proporcionan un conjunto especifico de funcionalidad relacionada Una clase representa, los datos distribuidos en un área especial en la memoria utilizada para almacenar recursos importantes manejados que tienen semánticas de asignación de referencia Un delegado es un señalador de función orientado al objeto Una enumeración es un tipo especial de un tipo de valor que representa las constantes nombradas Una estructura representa, los datos estáticos distribuidos que tienen semánticas de asignación de valor Una interfase define un contrato que puede implementar otros tipos Utilizando los espacios de nombre, un diseñador puede organizar un conjunto de tipos en un espacio de nombre jerárquico El diseñador puede crear grupos múltiples a partir de conjuntos de tipos, conteniendo cada grupo por lo menos un tipo que expone una funcionalidad relacionada lógicamente En la implementacion de ejemplo, el API 142 esta organizado para que incluya tres espacios de nombre de raíz Deberá observarse que aunque solamente están ilustrados en la figura 2 tres espacios de nombre de raíz, también pueden ser incluidos espacios de nombre de raíz adicionales en el API 142 Los tres espacios de nombre de raíz ilustrados en el API 142 son un primer espacio de nombre 200, para un subsistema de presentación (el cual incluye un espacio de nombre 202 para un interprete de ordenes del sistema operativo (shell) de la de interfase del usuario) un segundo espacio de nombre 204 para servicios de la web, y un tercer espacio de nombre 206 para un sistema de archivo Entonces a cada grupo se le puede asignar un nombre Por ejemplo, los tipos en los espacios de nombre de presentación de subsistemas 200 pueden ser asignados con el nombre "Ventana", y los tipos en los espacios de nombre en el sistema de archivo 206 pueden ser asignados con el nombre "Almacenamiento' Los grupos nombrados pueden ser organizados bajo un solo espacio de nombre de raíz global", para los APIs del nivel del sistema, tales como el espacio de nombre del Sistema general Seleccionando y fijando previamente un identif icador superior del nivel, los tipos de cada grupo pueden ser referenciados fácilmente por un nombre jerárquico que incluye un identif icador superior de nivel seleccionado previamente fijado al nombre del grupo que contiene el tipo Por ejemplo, los tipos de espacio de nombre en el sistema de archivo 206 pueden tener una referencia utilizando el nombre jerárquico "System Storage" De este modo, los espacios de nombre individuales 200, 204 y 206 se convierten en unas ramificaciones principales fuera del espacio de nombre del sistema y pueden llevar una designación en donde los espacios de nombre individuales son previamente fijados por un diseñador, tales como un prefijo "System" Los espacios de nombre de presentación del subsistema 200 pertenecen al desarrollo de programación y contenido Este suministra tipos que permiten la generación de aplicaciones, documentos, presentaciones de medios y otros contenidos Por ejemplo, el espacio de nombre de presentación del subsistema 200 proporciona un modelo de programación que permite que los desabolladores obtengan servicios del sistema operativo 146(1) y/o servicios de modelo de objeto 146(2) El espacio de nombre del interprete de ordenes del sistema operativo (shell) 202 pertenece a la funcionalidad de interfase del usuario Suministra tipos que permiten que los desabolladores incrusten la funcionalidad de interfase del usuario en sus aplicaciones y permite ademas que los desabolladores extiendan la funcionalidad de la interfase del usuario El espacio de nombre de servicios de la web 204 pertenece a una infraestructura para hacer posible la creación de una amplia variedad de aplicaciones, por ejemplo, aplicaciones tan simples como una aplicación de chat (conversación) que opera entre dos participantes en una intranet, y/o tan complejos como un servicio de la Web que se puede escalar para millones de usuarios La infraestructura descrita es altamente variable, de manera ventajosa uno solamente necesita aquellas partes que son apropiadas para la complejidad de una solución particular La infraestructura proporciona una cimentación para construir aplicaciones basadas en mensajes de diferentes escalas y complejidad La infraestructura proporciona APIs para el envío de mensajes básicos, el envío de mensajes seguros, el envío de mensajes confiables y el envío de mensajes negociados En una modalidad que se describe mas adelante, los APIs asociados han sido factonzados dentro de la jerarquía de espacios de nombre de una manera que han sido elaborados cuidadosamente para equilibrar la utilidad, la capacidad de uso, la capacidad de extensión y la capacidad de formación de versiones El espacio de nombre de sistema de archivo 206 pertenece al almacenamiento Proporciona tipos que permiten el almacenamiento y recuperación de información Ademas del sistema 132, se proporcionan herramientas de programación 210 para ayudar al desarrollador a construir servicios y/o aplicaciones de la Web Un ejemplo de las herramientas de programación 210, es el Visual Studio™, un paquete integrado de programas de herramientas de programación de lenguaje múltiple ofrecido por Microsoft Corporation ESPACIOS DE NOMBRE DE RAIZ API La figura 3 muestra el espacio de nombre del subsistema de presentación 200 con mayor detalle En una modalidad, los espacios de nombre son identificados de acuerdo con la convención de denominación jerárquica, la cual eslabona los nombres, y son concatenados con los periodos Por ejemplo, el espacio de nombre del subsistema de presentación 200 esta identificado por el nombre de raíz "System Windows" Dentro del espacio de nombre "System Windows' esta otro espacio de nombre para el shell, identificado como "Sistema Ventanas Explorador" ("System Windows Explorer ), el cual identifica ademas otros espacios de nombre para controles conocidos como "System Windows Explorer Controls" Con esta convención de denominación en mente, lo siguiente proporciona una revisión general de la presentación de los espacios de nombre de los subsistemas 200, aunque podrían ser utilizadas otras convenciones de denominación con un efecto igual Tal y como se muestra en la figura 3, el subsistema de presentación 200 incluye espacios de nombres múltiples Los espacios de nombre mostrados en la figura 3 representan una modalidad particular del subsistema de presentación 200 Otras modalidades del subsistema de presentación 200 pueden incluir uno o mas espacio de nombre adicionales, o pueden omitir uno o mas espacios de nombres mostrados en la figura 3 El subsistema de presentación 200, es el espacio de nombre raíz para una gran parte de la funcionalidad de la presentación de la API 142 El espacio de nombre de controles 310 incluye controles utilizados para construir un despliegue en pantalla de la información tal como una interfase del usuario y clases que permiten a un usuario interactuar con una aplicación Los controles de ejemplo incluyen el control "Botón" que crea un botón en la pantalla, "RadioButton" que genera un botón de estilo de radio en la pantalla, 'Menú" que crea un menú en la pantalla, ToolBar' que crea una barra de herramientas en la pantalla, 'Image" que genera una imagen en la pantalla, y "TreeView" que crea una visualizacion jerárquica de la información Ciertos controles son creados anidando y acomodando elementos múltiples Los controles tienen un modelo lógico que oculta los elementos utilizados para crear los controles, simplificando de este modo el modelo de programación Los controles pueden ser diseñados y se les pueden poner temas por medio de un desarrollador o un usuario (por ejemplo, personalizando la apariencia y el comportamiento de los botones de mterfase del usuario) Algunos controles tienen componentes que se pueden ajustar que permiten que un individuo ajuste el estilo de los controles individuales Adicionalmente, los controles pueden ser sub-clasif icados y extendidos por los desabolladores de la aplicación y desabolladores de los componentes Los controles son presentados utilizando gráficos de vector de modo, que pueden ser dimensionados de nuevo para que cubran los requerimientos de una mterfase particular u otra pantalla Los controles tienen la capacidad para utilizar la animación para mejorar, por ejemplo, el sentimiento interactivo de una mterfase del usuario y mostrar acciones y reacciones Espacio de Nombre de Controles El espacio de nombre de controles 310 incluye uno o mas paneles, los cuales son controles que miden y acomodan a sus descendientes (por ejemplo, elementos anidados) Por ejemplo, un "DockPanel" es un panel que acomoda los descendientes, colocando a cada uno de los descendientes hacia la parte superior, izquierda, inferior o derecha de la pantalla y llena el espacio restante con otros datos Un panel particular puede alojar menus y barras de herramientas en la parte superior de la pantalla, una barra de estado en la parte inferior de la pantalla, una lista de carpetas en el lado izquierdo de la pantalla y llenar el resto del espacio con una lista de mensajes Tal y como se menciono anteriormente, el System Windows Controls Primitives es un espacio de nombre que incluye controles múltiples que son componentes que se utilizan generalmente por los desabolladores de los controles en el espacio de nombre System Windows Controls, o por los desabolladores que crean sus propios controles Los ejemplos de estos componentes incluyen "Thumb and RepeatButton" La "ScrollBar", la barra de desplazamiento es otro componente que es creado utilizando cuatro botones repetidos (uno para "linea superior", uno para "linea inferior", uno para pagina superior' y uno para 'pagina inferior ), y un "Thumb" para arrastrar la visión actual a otra localización en el documento En otro ejemplo, el "ScrollViewer" ( Visualizador de Desplazamiento) es un control creado utilizando dos 'ScrollBars" y un "ScrollArea' para proporcionar un área que se puede desplazar La lista siguiente contiene clases de ejemplo, expuestas por el espacio de nombre System Windows Controls Estas clases permiten que un usuario interactue con, por ejemplo, una aplicación a través de vanas capacidades de entrada y salida, asi como capacidades adicionales de pantalla • AccessKey - La AccessKey es un elemento FrameworkElement que envuelve un carácter, indicando que va a recibir decoraciones clave del teclado que indican al carácter como una nemónica del teclado Por omisión (default), la decoración de clave del teclado es un subrayado • Audio - Elemento de Audio • Border - Dibuja un borde, fondo o ambos alrededor de otro elemento • Button - Representa el componente estándar de un botón que reacciona inherentemente al evento de un Che • Canvas - Define un área dentro de la cual un usuario puede colocar explícitamente elementos descendientes por coordenadas en relación con el área Canvas • CheckBox - Se usa un CheckBox para proporcionar al usuario una opción, tal como cierto/falso El CheckBox permite que el usuario seleccione de una lista de opciones Los controles del CheckBox permiten al usuario seleccionar una combinación de opciones CheckedChanged EventArgs - Esta clase CheckedChangedEventArgs contiene información adicional acerca del evento CheckedChanged Event CheckStateChangedEventArgs - Esta clase de CheckStateChangedEventArgs contiene información adicional acerca del evento de CheckStateChanged Event ChckEventArgs - Contiene información a cerca de un evento de Che ColumnStyle - Representa un objeto ColumnStyle que se puede cambiar ColumnStyles - Un objeto I List de un patrón que se puede cambiar que es una colección de elementos que se pueden Cambiar ComboBox - Control ComboBox ComboBoxItem - Control que implementa una partida que se puede seleccionar dentro de una ComboBox ContactPickerDialog - Permite que un usuario seleccione uno o mas contactos ContactPropertyRequest - Permite que una aplicación solicite información acerca de una propiedad del contacto a través de un ContactPickerDialog Esta clase no puede ser heredada ContactPropertyRequestCollection - Representa una colección de objetos ContactPropertyRequest ContactSelection - Información acerca de un contacto seleccionado del sistema de archivo Microsoft® Windows®, codificado como "WinFS o Microsoft Active Directory® ContactSelectionCollection - Representa una colección de objetos ContactSelection ContactTextBox - Un control de edición que soporta la selección de contactos o propiedades de los contactos ContactTextBoxSelectionChangedEventArgs -Argumentos para el evento ContactTextBoxSelectionChanged ContactTextBoxTextChanged EventArgs - Argumentos para el evento ContactTextBoxTextChanged ContactTextBoxTextResolvedEventArgs - Argumentos para el evento TextResolvedToContact ContentChanged EventArgs - Los argumentos para el evento ContentChangedEvent ContentControl - La clase básica para todos los controles con una sola pieza de contenido ContentPresenter - El ContentPresenter es utilizado dentro del estilo de un control de contenido para indicar el lugar en donde va a ser agregado el contenido al árbol visual de los controles (plantilla cromatica) ContextMenu - Control que define un menú para que el usuario invoque sus selecciones ContextMenuEventArgs - Los datos enviados en un evento ContextMenuEvent Control - Representa la clase básica para todos los elementos interactivos del usuario Esta clase proporciona un conjunto de propiedades básicas para sus subclases Decorator - Clase básica para los elementos que aplican efectos en o alrededor de un solo elemento de descendencia, tal como un Border DockPanel - Define un área dentro de la cual se pueden acomodar los elementos de descendencia, ya sea horizontal o verticalmente, en relación entre ellos DragDeltaEventArgs - Esta clase DragDeltaEventArgs contiene información adicional acerca del evento DragDeltaEvent FixedPanel - El FixedPanel es el elemento de raíz utilizado para documentos de formato fijo para que contengan paginas fijadas para la paginación El FixedPanel despliega en pantalla el contenido paginado de una pagina a la vez, o como una pila de paginas que se pueden desplazar FlowPanel - El FlowPanel es utilizado para interrumpir, envolver y alinear el contenido que excede la longitud de una sola linea El FlowPanel proporciona el salto de linea y las propiedades de alineación que pueden ser utilizadas cuando fluye el contenido de los contenedores Por ejemplo, es probable que Text exceda la longitud de una sola 11 nea Frame - Un área que puede cargar el contenido de otro árbol de marca Generator - El Generator es el objeto que genera un Ul en nombre de un ItemsControl que funciona bajo la supervisión de un GeneratorFactory GeneratorFactory - Un GeneratorFactory es responsable de generar el Ul en nombre de un ItemsControl Mantiene la asociación entre las partidas en la Item sCollection de control (vista aplanada) y los UlElements correspondientes El contenedor de partidas de control puede solicitar al formador un Generador, el cual efectúa la generación real del Ul GridPanel - Define el área de rejilla que consiste de columnas y filas HeaderltemsControl - La clase básica para todos los controles que contienen partidas múltiples y tienen un encabezado HorizontaIScroll Bar - La clase HorizontaIScrollBar HorizontalSlider - La clase HorizontalShder HyperLink - La clase HyperLink implementa el control de navegación El presentador por omisión (default) es el TextPresenter Image - Proporciona un medio fácil para incluir una imagen en un documento o una aplicación IncludeContactEventArgs - Argumentos pasados a los procesadores de gestión del evento ContactPickerDialog IncludeContact Item Collection - Mantiene una colección de partidas separadas dentro de un control Proporciona métodos y propiedades que hacen posible cambiar el contenido de la colección y obtener datos acerca del contenido ItemsChangedEventArgs - El evento ItemsChanged es originado por un GeneratorFactory para informar las distribuciones que han cambiado de la colección de partidas ItemsControl - La clase básica para todos los controles que tienen descendencia múltiple ItemsView - El ItemsView proporciona una vista plana de un ItemCollection KeyboardNavigation - La clase KeyboardNavigation proporciona métodos para la navegación lógica (Tab) y direccional (flecha) entre los controles que se pueden enfocar ListBox - Control que implementa una lista de partidas que se pueden seleccionar Listltem - Control que implementa una partida que se puede seleccionar dentro de una ListBox Menú - Control que define un menú para las selecciones para que el usuario invoque sus selecciones Menultem - Una partida descendiente del Menú Las Menultems pueden ser seleccionadas para invocar los comandos Las Menultems pueden ser separadores Las Menultems pueden ser el encabezado para los submenus Las Menultems pueden ser revisadas o sin revisar PageViewer - Representa un control compuesto para la visuahzacion de un documento que contiene un control de paginación, una barra de herramientas y un control de la barra de pagina PaginationCompleteEventArgs - Los argumentos para el evento PagmationCompleteEvent PaginationProgressEventArgs - Los argumentos para el evento PaginationProgressEvent Pane - Proporciona un medio para definir las propiedades de la ventana y un lenguaje de marca (por ejemplo, "XA L ) sin lanzar una nueva ventana Panel - Proporciona una clase básica para todos los elementos de Panel Con el objeto de desplegar instantáneamente un elemento de Panel, usar la clase concreta derivada RadioButton - RadioButton implementa un botón de opción con dos condiciones cierta o falsa RadioButtonList - Este control sirve como un control de agrupación para los RadioButtons y es la pieza que maneja la exclusividad mutua del RadioButton El RadioButtonList se hereda del Selector El RadioButtonList es esencialmente un SingleSelectionModeSelector y el concepto de Selección (del Selector), es desconectado de la propiedad Revisada del RadioButton que esta agrupando RowStyle - Patrón que se puede Cambiar, elementos que se pueden Cambiar RowStyles - Un objeto I List del patrón que se puede Cambiar que es una colección de elementos que se pueden Cambiar ScrollChangeEventArgs - El ScrollChangeEventsArgs describe un cambio en la condición de desplazamiento ScrollViewer - SelectedltemsCollection - Un contenedor para las partidas seleccionadas en un Selector SelectionChangedEventArgs - Las entradas a una selección cambiada del procesador de gestión de un evento SimpleText - El SimpleText es un texto de formato simple, de lineas múltiples de peso ligero que pretende utilizar los escenarios de interfase del usuario (Ul) El SimpleText expone varias de las mismas propiedades de formateo como Texto y con frecuencia puede ser utilizado para una ganancia de funcionamiento al costo de alguna versatilidad StyleSelector - El StyleSelector permite al escritor proporcionar una lógica de selección personalizada de estilo Por ejemplo, con un Error de programación de clase como Contenido, utiliza un estilo particular para los errores de programación Pri1 y un estilo diferente para los errores de programación Pri2 Un escritor de aplicación puede omitir el método SelectStyle en una clase derivada del selector y asignar un ejemplo de esta clase a la propiedad StyleSelector en la clase ContentPresenter Text - Representa un control de Texto que hace posible presentar formatos múltiples de Texto El Texto es utilizado mejor dentro de una aplicación Ul, los escenarios mas avanzados del texto se benefician del conjunto de características adicionales del TextPanel En la mayoría de los casos en donde se requiere un soporte de texto relativamente simple, el Texto es el elemento preferido debido a su naturaleza de peso ligero y rango de características TextBox - Representa el control que proporciona una región que se puede editar que acepta el ingreso de texto TextChangedEventArgs - La clase TextChanged EventArgs representa un tipo de RoutedEventArgs que son importantes para los eventos originados por el TextRange SetText() TextPanel - Textos de formatos, tamaños y dibujos Las lineas múltiples soportan el TextPanel del texto y formatos múltiples del texto ToolTip - Un control para desplegar en pantalla información cuando el usuario esta flotante en un área sobre un control ToolTipEventArgs - Datos enviados a un ToolTipEvent Transform Decorator - El Transform Decorator contiene una descendencia y es aplicable a una transformación especificada para el mismo El Transform Decorator implementa la lógica para medir y acomodar al descendiente en sus coordenadas locales (previo a la transformación) de modo que después de la transformación, el descendiente encaja estrechamente dentro del espacio del decorador y utiliza el área máxima Por lo tanto el descendiente no necesita conocer que ha sido aplicada una transformación al mismo U I ElementCollection - Una UlElementCollection es una colección ordenada de UlElements ValueChangedEventArgs - Esta clase ValueChangedEventArgs contiene información adicional acerca del evento ValueChangedEvent VerticaIScrollBar - La clase VerticaIScrollBar VerticalShder - La clase VerticalSlider Video - Reproduce un archivo de video o audio que esta corriendo en un rectángulo especificado dentro del sistema actual de coordenadas del usuario VisibleChangedEventArgs - La clase VisibleChanged EventArgs contiene información adicional acerca del evento VisibleChangedEvent El espacio de nombre System Windows Controls también contiene vanas enumeraciones La siguiente lista contiene ejemplos de enumeraciones asociadas con el espacio de nombre System Windows Controls • CharacterCase - Especifica el caso de caracteres en un control de TextBox cuando el texto es escrito en el teclado · CheckState - Especifica la condición de un control, de modo que un cuadro de verificación puede ser revisado, no revisado o se ajusta a una condición indeterminada • ClickMode - Especifica cuando se debe detonar el evento del Clic • ContactControlPropertyPosition - Controla la posición y despliegue en pantalla de la propiedad del contacto • ContactPickerDialogLayout - Especifica la forma en que se deben desplegar en pantalla las propiedades seleccionadas del ContactPickerDialog • ContactPropertyCategory - Especifica que valor tratar como el valor por omisión (default) en la clase en donde una propiedad tiene valores múltiples para que el usuario las pueda seleccionar Por ejemplo, si es especificado "Work" como la categoría preferida cuando se solicita una propiedad de numero telefónico del ContactPickerDialog y el usuario selecciona un contacto con ambos un numero del trabajo y particular, el numero de telefono del trabajo aparece como la selección por omisión (default) Entonces el usuario puede utilizar el Ul para seleccionar el numero de telefono particular en vez del anterior ContactPropertyType - Especifica una propiedad de un contacto que el usuario puede solicitar al ContactPickerDialog ContactType - Especifica que tipos de contacto desplegar en la pantalla en el ContactPickerDialog Direction - Esta enumeración es utilizada por el GeneratorFactory y el Generator para especificar la dirección en la cual el generador produce el Ul Dock - Especifica la posición Dock de un elemento de descendencia dentro de un DockPanel GeneratorStatus - Esta enumeración es utilizada por el GeneratorFactory para indicar su condición KeyNavigationMode - El tipo de propiedad TabNavigation especifica la forma en que el contenedor moverá el enfoque cuando ocurre la navegación Tab enultemBehavior - Define los comportamientos diferentes que podría tener un enultem MenultemType - Define los tipos de colocación diferentes de los Menultems Orientation - Tipos de orientación del deslizador PageViewerFit - Selecciona la forma en que las paginas deben de ser acomodadas dentro de un área PageVie er'sClient PageVie erMode - Selecciona el modo de PageViewer actual reflejado en el despliegue del menú de la modalidad ScrollerVisibihty - El ScrollerVisibihty define el comportamiento de visibilidad de una barra de desplazam lento SelectionMode - Especifica el comportamiento de selección para el ListBox "Position" es una estructura de ejemplo asociada con el espacio de nombre System Windows Controls Un usuario del Generador describe las posiciones utilizando esta estructura Por ejemplo Para iniciar la generación hacia delante del inicio de una lista de partidas, especificar la dirección (-1,0), y la dirección Forward Para iniciar la generación de un retroceso desde el extremo de la lista, especificar la posición (-1,0), y la dirección de Backward Para generar las partidas después del elemento con índice k, especificar la posición (k,0), y la dirección Forward La lista siguiente contiene delegados de ejemplo asociados con el espacio de nombre System Windows Controls • CheckedChangedEventHandler - Este delegado es utilizado por los procesadores de gestión del evento CheckedChangedEvent • CheckStateChangedEventHandler - Este delegado es utilizado por los procesadores de gestión del evento CheckStateChangedEvent • ChckEventHandler - Representa los métodos que manejan un evento de Che • ContactTextBoxSelectionChangedEventHandler - Un procesador de gestión delegado para el evento ContactTextBoxSelectionChanged • ContactTextBoxTextChangedEventHandler - Un procesador de gestión delegado para el evento ContactTextBoxTextChanged • ContactTextBoxTextResolvedEventHandler - Un procesador de gestión delegado para el evento Text Resol ved ToContact • ContentChangedDelegate - Un delegado para el evento ContentChangedEvent • ContextMenuEventHandler - El tipo de recordatorio para manejar un evento de ContextMenuEvent DragDeltaEventHandler - Este delegado es utilizado por los procesadores de gestión del evento DragDeltaEvent IncludeContactEventHandler - Procesador de gestión para el evento ContactPickerDialog IncludeContact ItemsChangedEventHandler - El delegado para que lo utilicen los procesadores de gestión que reciben los argumentos ItemsChangedEventArgs Opened EventHandler - Procesador de gestión para el evento ContactPickerDialog Opened PaginationCompleteDelegate - Delegado para el evento PaginationCom pleteEvent PaginationProgressDelegate - Delegado para el evento PaginationProgressEvent ScrollChangeEventHandler - Este delegado es utilizado por los procesadores de gestión del evento ScrollChangeEvent SelectionChangedEventHandler - El tipo de delegado para el manejo de una selección de evento cambiado TextChangedEventHandler - El delegado para que lo utilicen los procesadores de gestión que reciben el TextChangedEventArgs ToolTipEventHandler - Un tipo de recordatorio para manejar un evento ToolTipEvent • ValueChangedEventHandler - Este delegado es utilizado por los procesadores de gestión del evento ValueChangedEvent • VisibleChangedEventHandler - Este delegado es utilizado por los procesadores de gestión del evento VisibleChangedEvent Otro espacio de nombre, System Windows Controls Atoms, es un sub-espacio del espacio de nombre System Windows Controls El System Windows Controls Atoms incluye controles asociados, argumentos de eventos y procesadores de gestión de eventos La lista siguiente contiene los ejemplos de las clases asociadas con el espacio de nombre System Windows Controls Atoms • PageBar - Representa un control de paginación que se puede desplazar • PageElement - Produce una pagina especifica de un contenido paginado La pagina para ser presentada es especificada por la propiedad PageSource • PageHoveredEventArgs - El PageHovered EventArgs proporciona información acerca de en donde esta flotante el señalador del ratón • PageScrolledEventArgs - El PageScrolledEventArgs contiene información que pertenece al evento PageScrolledEvent • PageSelectedEventArgs - El PageSelectedEvent es encendido cuando se hace una selección nueva de rango de fila/columna · PageSelector - El PageSelector permite que el usuario seleccione un rango de filas/columnas de paginas que van a ser desplegadas en pantalla • PageSource - Identifica la fuente del contenido que va a ser paginado También proporciona propiedades y métodos para el formateo del contenido paginado La siguiente lista contiende delegados de ejemplo asociados con el espacio de nombre System Windows Controls Atoms • PageHoveredEventHandler - Este delegado es utilizado por los procesadores de gestión del evento PageHoveredEvent • PageScrolledEventHandler - Este delegado es utilizado por los procesadores de gestión del evento PageHovered · PageSelectedEventHandler - Este delegado es utilizado por los procesadores de gestión del evento PageSelectedEvent Un nombre de espacio System Windows Controls Primitives es otro sub-nombre del espacio de nombre System Windows Controls Tal y como se menciono anteriormente, las Primitivas incluyen sub-espacios de nombre que incluyen controles que pretenden ser usados como primitivas por otros controles complejos La lista siguiente contiene ejemplos de clases asociadas con el espacio de nombre System Windows Controls Primitives • ButtonBase - Cuando son sobrecontroladas en una clase derivada, definen los eventos importantes y propiedades y proporcionan a los procesadores de gestión los eventos de entrada relevantes • Popup - Un control que crea una ventana de salida que contiene el contenido • RangeBase - Representa la clase básica para los elementos que tienen un rango especifico Los ejemplos de dichos elementos son las barras de desplazamiento y las barras de progreso Esta clase define los eventos y propiedades importantes y proporciona los eventos a los procesadores de gestión • RepeatButton - El control RepeatButton agrega semánticas de repetición de cuando ocurre el evento de Che • ScrollArea - El ScrollArea es el elemento efectivo para el desplazamiento Contiene el contenido que sujeta y proporciona propiedades para exponer la compensación y la extensión del contenido También proporciona un manejo de entrada por omisión (default), de modo que el desplazamiento puede ser operado programáticamente, o por medio del teclado o la rueda del ratón • ScrollBar - La clase ScrollBar • Selector - La clase básica para los controles que seleccionan las partidas de entre la descendencia • Slider - La clase Shder • Thumb - El control thumb hace posible la funcionalidad básica del movimiento de arrastre para las barras de desplazamiento, y el nuevo dimensionamiento de las ventanas La lEnsureVisible" es una interfase de ejemplo asociada con el espacio de nombre System Windows Controls Primitives La I EnsureVisible es implementada en una vista para desplazar/mover una visual descendiente en una vista La lista siguiente contiene enumeraciones de ejemplo asociadas con el espacio de nombre System Windows Controls Primitives • ArrowButtonStates - • CloseModeType - Describe la forma en que se debe de comportar una aparición repentina para los diferentes eventos del ratón • Part - La enumeración Part es utilizada para indicar el uso semántico de los controles que forman la barra de desplazamiento • PartStates - Visiones de la Parte ScrollBar · PlacementType - Describe en donde debe de ser colocada una aparición repentina en la pantalla • SizeBoxStates - Espacio de Nombre Documents Un espacio de nombre de documentos 312 es una colección de elementos de semántica y formateo que son utilizados para crear documentos ricos semánticamente y formateados semánticamente En una modalidad, un "elemento" es una clase que es usada principalmente en conjunto con una jerarquía de elementos (a la que nos referimos como "árbol') Estos elementos pueden ser interactivos (por ejemplo, recibir ingresos del usuario por medio del teclado, ratón u otro aparato de entrada), puede producir imágenes u objetos, y puede ayudar con el acomodo de otros elementos Los elementos de ejemplo incluyen un elemento de "Bloque" que implementa un bloque genérico, un elemento de "Cuerpo" que representa el contenido que incluye el cuerpo de una tabla, un elemento de "Celda" que contiene datos tabulares dentro de una tabla, un elemento de "Encabezado" que representa el contenido incluido en el encabezado de una tabla, y un elemento de "Salto de Pagina" que es utilizado para saltar el contenido en paginas múltiples La lista siguiente contiene las clases de ejemplo expuestas por el espacio de nombre System Windows Documents • Adapti eMetricsContext - El AdaptiveMetricsContext proporciona el elemento raíz para los documentos de formato de flujo adaptable Una vez que se ha encapsulado un panel descendiente en un elemento AdaptiveMetncsContext, el documento del panel es procesado por la Maquina de Lectura de Métrica (RME) El tamaño del panel de descendencia es utilizado para calcular el numero y tamaño de cualesquiera columnas, asi como los tamaños óptimos de la fuente y alturas de lineas • Block - Implementa un elemento de bloque genérico que no induce el comportamiento de presentación por omisión (default) • BlockElement - Implementa una clase básica para todos los elementos de Bloque • Body - Representa el contenido que comprende el cuerpo de un elemento de Tabla • Bold - Implementa un elemento de Negritas derivado de Inline • BreakRecord - Almacena la información necesaria para continuar formateando el contenido paginado en los saltos de pagina Hereda de esta clase el proporcionar el soporte de paginación Esta es una clase abstracta Cell - Las celdas contienen datos tabulares dentro de una Tabla Los elementos de Celda están contenidos dentro de una Fila CelICollection - Colección ordenada de las celdas de la tabla Column - El elemento de columna es utilizado para distribuir el contenido de un GridPanel o Tabla ColumnCollection - Una Colum nCollection es una colección ordenada de Columnas ColumnResult - Representa una información relacionada con la vista de la columna ContainerParagraphResult - Proporciona acceso a parámetros de distribución calculados para un objeto de Párrafo el cual contiene solamente otros objetos de Párrafo ContentPosition - Representa la posición del contenido dentro de un párrafo Hereda de esta clase el describir la posición del contenido asociado Esta es una clase abstracta Document - El proposito de la clase de Document es desacoplado del contenido de un documento del Ul "enrome" que lo rodea El Desacoplamiento" significa que se puede ser el autor de un documento sin pensar acerca de (y sin obligarse al) su Ul La clase Documento mantiene en el contenido del documento, generalmente un TextPanel o un FixedPanel y sus descendientes Un árbol visual (por omisión (default), un Visuahzador de Pagina) esta asociado con este elemento a través del mecanismo de diseño del control WPP DocumentPage - Representa la información de distribución para un control asociado de una pagina de un documento sujeto a paginación Implementar la descripción de la información de la distribución de estos controles se hereda de esta clase Esta es una clase abstracta DocumentPageParagraphResult - Proporciona acceso a parámetros calculados de distribución para los objetos afectados por la paginación FindEngine - Clase básica para encontrar algoritmos FindEngineFactory - Encuentra el elaborador de algoritmos FixedPage - Proporciona acceso a una sola pagina de contenido dentro de un documento de distribución de formato fijo Footer - Representa el contenido que comprende el pie de pagina de un elemento de Tabla Header - Representa el contenido que comprende el encabezado de un elemento de Tabla Heading - Implementa un elemento de nivel de bloque que presenta el texto común encabezado HyphenationDictionary - Un HyphenationDictionary representa un diccionario con el proposito de proporcionar el soporte para las uniones con guiones dentro de las aplicaciones Puede contener, tanto un diccionario en linea como una referencia a un diccionario externo El diccionario en linea tiene una prioridad mas alta y sera aplicado antes de las entradas en el diccionario externo Hyphenator - El objeto Hyphenator mantiene referencia a los datos de colocación de guiones dentro del HyphenationDictionary y también realiza la colocación de guiones Inline - Implementa un elemento genérico Inline que no induce comportamiento de presentación por omisión (default) alguno InhneElement - Implementa un elemento genérico en linea como la clase básica para todos los elementos en linea Italic - Implementa un elemento Itálico derivado del Inline LmeBreak - Representa un elemento de marca que fuerza un salto de linea LineResult - Proporciona el acceso a la información calculada de una linea de texto List - Implementa un elemento de List Las listas son elementos de nivel de bloque diseñados para ser formateados con marcadores tales como viñetas o numeración ListElementltem - Implementa una ListElementltem , el cual soporta marcadores tales como viñetas o num eracion Note - Implementa un elemento Note, el cual es análogo al elemento de notas en el HTML PageBreak - Representa un elemento de marca utilizado para saltar por el contenido de varias paginas PageDescnptor - Implementa el PageDescriptor, el cual almacena la información necesaria para crear una distribución paginada Paragraph - Implementa un elemento de nivel de bloque para presentar el texto en un párrafo El comportamiento de presentación es análogo al del elemento de párrafo en el HTML ParagraphResult - Proporciona el acceso a los parámetros de distribución calculados para un objeto de Párrafo Row - Define una fila dentro de un GridPanel o elemento de Tabla RowCollection - El RowCollection representa una colección ordenada de Filas RowGroup - Especifica las propiedades por omisión (default) para un grupo de filas en una Tabla o un GridPanel Section - Implementa un elemento genérico de contenedor El comportamiento de presentación es análogo al del elemento div en el HTML SmalICaps - Implementa un elemento SmalICaps en linea Las SmalICaps son formas tipográficas que presentan versiones de mayúsculas pequeñas de letras para el énfasis, o como en un titulo Subscript - Representa un elemento Subscript en linea Los caracteres de Subíndice son escritos inmediatamente debajo, debajo y a la izquierda, o debajo y a la derecha de otros caracteres Superscript - Representa un elemento Superscnpt en linea Los caracteres Superscnpt generalmente son letras o números y se presentan inmediatamente arriba, arriba y a la izquierda o arriba y a la derecha de otros caracteres Table - La Tabla es utilizada para desplegar datos complejos en una forma tabular utilizando un lenguaje de marca (por ejemplo, "XAML") TextArray - API básico para el acceso y manipulación del texto TextChanged EventArgs - El TextChangedEventArgs define los argumentos del evento enviados cuando es cambiado un TextArray TextElement - El TextElement proporciona facilidades de TextRange para el TextTree Este es un TextRange inmutable continuo con puntos finales fijos Proporciona un soporte de ContentElementlnput Enfoque y Clasificación de eventos También proporciona un soporte de propiedad de DependencyObject TextNavigator - Puede enumerar el contenido del texto Implementa un TextPosition movible También se puede mover por medio de la ejecución del texto, o ser colocado en una localización conocida en el texto TextParagraphResult - Proporciona acceso a los parámetros de distribución calculados para el texto, incluyendo objetos y figuras flotadas TextPosition - Este es un objeto que representa una cierta posición en un TextArray Un objeto compacto que representa una posición en el texto mantiene automáticamente la posición cuando cambia el texto Las operaciones de comparación son solamente aplicables a posiciones dentro del mismo TextArray (mismo Contexto), TextPosition puede ser estático o movible Es una propiedad que se puede cambiar que nos dice el tipo de posición TextRange - El TextRange es una clase abstracta que proporciona una asociación genérica de cero o mas sub-rangos con propiedades La manipulación de sub-rangos es definida en las clases derivadas TextRangeMovable - El TextRangeMovable es una clase abstracta para los TextRanges que se pueden mover Agrega la capacidad de mover los puntos de inicio y finales basados en los TextUnits TextTreeChanged EventArgs - El TextChanged EventArgs define los argumentos del evento enviados cuando es cambiado un TextArray TextTreeDumper - El TreeDumper es una clase de prueba del árbol que es publica debido a problemas para empaquetarla TextTreeNavigator - Este es un objeto que representa cierta posición movible en un TextTree Es una implementacion especifica del TextNavigator para utilizarla solamente en el TextTree TextTreePosition - Este es un objeto que representa una cierta posición inmutable en un TextTree Es una implementacion especifica del TextPosition para utilizarla solamente en el TextTree • TextTreeRange - Proporciona facilidades TextRange para el TextTree Es un TextRange continuo mutable, con puntos finales movibles • TextTreeRangeContentEnumerator - Enumerador en descendientes de objetos directamente bajo un TextTreeRange • TextUnit - Unidad extensible de navegación de texto · TextUnits - Son unidades de texto utilizadas generalmente para el TextPosition y el TextRange • Typography - Proporciona el acceso a un conjunto rico de propiedades de tipografía OpenType • U I ElemetParagraphResult - El ParagraphResult es un párrafo el cual esta compuesto completamente de un UlElement Utilizado para los Flotadores, Figuras, y UlElements de nivel de bloques incrustados • Underhne - Representa un elemento de Subrayado derivado del InhneElement La lista siguiente contiene ejemplos de interfases asociadas con el espacio de nombre System Windows Documents • I DocumentsContentHost - Implementa esta interfase en una computadora de contenido de modo que los descendientes de la computadora pueden notificar a la computadora central cuando es cambiado el contenido IDocumentFormatter - Implementa esta interfase en un elemento para proporcionar soporte para las características del documento, tales como la paginación ITextDocumentResult - Implementa esta interfase para mantener la información de columnas para un documento ITextParagraphResult - Implementa esta interfase para proporcionar información de texto y colocación para los párrafos del texto La lista siguiente contiene enumeraciones de ejemplo asociadas con el espacio de nombre System Windows Documents • ElementEdge - Este identifica la orilla de un objeto en donde esta localizada una TextPosition • FindAdvancedOptions - Las opciones de búsqueda avanzada utilizados por el FindAlgonthm (iniciahzacion de búsqueda) y las clases TextRangeMovable/TextSelection (ejecución de búsqueda simplificada) • FindOptions - Las opciones de búsqueda simplificadas utilizadas por el TextBox Encuentra los métodos LogicalDirection - La LogicalDirection define una dirección lógica para el movimiento en el texto Esta es utilizada para determinar en donde se moverá una TextPosition cuando el contenido es insertado en la TextPosition TextArrayRunType - Identifica la operación en donde esta localizada la TextPosition, tomando en cuenta la LogicalDirection TextChangeOptions - Cambios posibles en el texto para CanChangeText TextMoveOptions - Esta opción es para el control de movimiento del TextNavigator mediante condiciones de especificación para interrumpir la navegación La lista siguiente contiene delegados de ejemplo asociados con el nombre de espacio System Windows Documents • ObjectCloneDelegate - Un método de Recordatorio para proporcionar un clon o copia de un DependencyObject cuando esta siendo copiada o movida una porción de un TextArray • TextChangedEventHandler - El delegado TextChangedEventHandler es invocado con TextChangedEventArgs cada vez que el contenido es agregado a, o eliminado del TextTree Espacio de Nombre de Formas El nombre de espacio de formas 314 es una colección de elementos del vector de gráficos utilizados para crear imágenes y objetos El uso de los elementos del vector de gráficos permite que los elementos sean dimensionados de nuevo fácilmente para que cubran con los requerimientos de una mterfase particular o un aparato de pantalla La lista siguiente contiene las clases de ejemplo expuestas por el nombre de espacio System Windows Shapes • Ellipse - Dibuja un ovalo • Glyphs - Representa una forma de pictograma en un lenguaje de marca tal como "XAML Los pictogramas son utilizados para representar las fuentes • Line - Dibuja una linea recta entre dos puntos • Path - Dibuja una sene de lineas y curvas conectadas • Polygon - Dibuja un polígono (una serie conectada de lineas que forma una forma cerrada) • Polylme - Dibuja una sene de lineas rectas conectadas • Rectangle - Dibuja un rectángulo • Shape - Una clase abstracta que proporciona la funcionalidad básica para los elementos de forma, tales como el ovalo, el polígono y el rectángulo Espacio de Nombre de Datos Un espacio de nombre de datos 316 incluye clases e interfases utilizadas para enlazar propiedades de elementos a las fuentes de datos, clases de fuentes de datos e implementaciones especificas de datos de colecciones de datos y visualizaciones Estas clases e interfases son también utilizadas para manejar las excepciones en los ingresos de datos y permiten la creación del tiempo de operación de una mterfase del usuario basada en información en varias fuentes de datos Los datos pueden ser desplegados en pantalla en una forma textual o pueden ser utilizados para cambiar el formato de la pantalla, tales como mostrando en pantalla cantidades en dolares en rojo si son negativas Las clases de ejemplo incluyen una clase de "Enlace que representa un objeto de enlace de declaración que maneja los enlaces entre la mterfase del usuario de propiedad dinámica y los datos fuente y una clase "XmIDataSource que sirve como una fuente de datos para el enlace de datos a los nodos de contenido X L Las aplicaciones orientadas a los objetos generalmente representan datos por clases que definen, tanto el valor de una pieza de datos como las operaciones que pueden ser realizadas en esos datos El termino "partida de datos" se refiere a uno de dichos objetos Las aplicaciones pueden manejar partidas de datos individuales o colecciones de partidas de datos Ellas pueden utilizar partidas de datos de tres maneras (a) convertir los datos de las fuentes externas tales como sistemas de archivo, servidores remotos, bases de datos, etc , en partidas de datos correspondientes en la memoria, y convertir de nuevo las partidas de datos modificadas en la forma esperada por estas fuentes, (b) operar en las partidas de datos utilizando una combinación de céntrica de datos y lógica céntrica de aplicación, (c) presentar los datos incorporados por las partidas de datos al usuario a través de una interfase del usuario El espacio de nombre de datos 316 proporciona el soporte para la primera y tercera de estas tareas La primera tarea, la obtención de datos de las fuentes externas, es soportada por los objetos "data source Un objeto de fuente de datos generalmente es definido como un recurso ancho de aplicación o ancho de pagina y sirve como la entrada para los datos Las fuentes de datos implementan una interfase IDataSource, la cual define un mecanismo estándar por medio del cual las clases en los espacios de datos adquieren el acceso a los datos Un objeto de fuente de datos particular implementa la lógica para recuperar los datos reales utilizando mecanismos apropiados para la fuente particular En una modalidad, el espacio de nombre incluye cuatro fuentes de datos 1 XmIDataSource, para recuperar los datos representados como XML 2 SqlDataSource, para recuperar datos de las bases de datos SQL tales como el Microsoft SQLServer 3 WinFSDataSource, para recuperar datos del servicio WmFS 4 ObjectDataSource, para recuperar datos de un objeto arbitrario definido por la aplicación Las aplicaciones también pueden definir sus propias clases de fuentes de datos que están diseñadas para fuentes de propósitos especiales Una clase de fuente de datos es responsable de recuperar los datos de una fuente externa y convertirlos en una o mas partidas de datos adecuadas para utilizarlas por las clases de enlaces Si se necesita una colección de partidas de datos, la aplicación puede utilizar cualesquiera clases de colección estándar del Sistema Net, tales como una Array, ArrayList, Hashtable, etc , cualesquiera clases de colección céntricas de datos del espacio de nombre System Data tales como Dataset, o la clase de colección céntrica de datos del espacio de nombre, tal como Array ListDataCollection Las ultimas clases soportan notificaciones de cambio, es decir, cuando cambia la aplicación la colección agregando una partida, eliminando una partida, clasificando la colección, etc , la colección envía una notificación Las clases de enlace escuchan estas notificaciones y actualizan automáticamente la interfase del usuario para reflejar el cambio Una vez que los datos han sido convertidos en partidas de datos en la memoria, la aplicación puede realizar computaciones utilizando las partidas y pueden modificar las partidas como resultado de las computaciones Estas acciones se llevan a cabo utilizando una combinación de operaciones céntricas de datos (definida por las clases de partidas de datos) y operaciones céntricas de aplicación (definidas por la aplicación misma) Las acciones pueden ser iniciadas automáticamente por la aplicación o en respuesta a una acción del usuario No es necesario un soporte especial o cooperación del espacio de nombre de datos, proporcionando de este modo una separación limpia de la lógica y presentación dentro de la aplicación Una tercera tarea relacionada con los datos, que presenta los datos a través de la interfase del usuario es soportada por las clases de "enlace" para el espacio de nombre de datos Estas clases hacen posible que la aplicación describa la correspondencia (enlace) entre una propiedad de partidas de datos (la fuente) y una propiedad de mterfase del usuario (el objetivo) El termino enlace de datos (o simplemente enlace) se refiere al establecimiento de dicha correspondencia Por ejemplo, una aplicación puede seleccionar enlazar datos a la propiedad de Texto de un control Textbox a la propiedad CustomerName de la partida de datos Habiéndolo hecho de este modo, el control desplegara automáticamente en pantalla el nombre del cliente, actualizando la pantalla siempre que la partida de datos cambia la aplicación, y actualizando la partida de datos siempre que el usuario escribe un nuevo nombre en el control Este tipo de correspondencia es descrito utilizando la clase de Enlace es implementada la clase de Enlace Cualquier numero de propiedades Ul pueden compartir la misma descripción (Enlace), pero cada propiedad tiene su Enlace único propio que sostiene la condición para ese caso particular La descripción incluye la siguiente información acerca de la correspondencia deseada • Path - el nombre de la propiedad de partidas de datos para utilizarla como la fuente del enlace Este puede ser un nombre de propiedad simple, o una expresión mas complicada que comprende sub- objetos e mdexadores (por ejemplo, cuando la propiedad fuente tiene un valor de tipo complejo) tal como "ShippingAddress Lme[2]" Cuando la fuente de datos es XML, la trayectoria es una expresión XPath BmdType - si la correspondencia es de una vía, dos vías o una a la vez En un enlace de una vía, los cambios a las partidas de datos ocasionan actualizaciones a la propiedad de la interfase del usuario, los datos fluyen por una vía - de la fuente al objetivo En el enlace de dos vías, los datos fluyen en ambas direcciones, ademas del comportamiento de una vía, los cambios a la propiedad de la interfase del usuario ocasionan actualizaciones de la propiedad de la partida de datos En el enlace de una a la vez, la propiedad de la partida de datos es utilizada para iniciahzar la propiedad de interfase del usuario, pero los cambios no se propagan en dirección alguna Source - una descripción de donde obtener la partida de datos fuente Esta puede ser de un objeto de fuente de datos, o de algún otro elemento de la interfase del usuario o del valor de la propiedad DataContext de los elementos objetivos UpdateType - cuando actualizar la propiedad fuente en un enlace de dos vías en uno de Inmediato, OnLostFocus, o Explícito Las actualizaciones Inmediatas suceden tan pronto como cambia la propiedad de la interfase del usuario Las actualizaciones OnLostFocus son demoradas hasta que el elemento objetivo pierde el enfoque del teclado - esto es apropiado para el control TextBox, para evitar el gasto de actualización después de cada golpe al teclado Las actualizaciones explícitas suceden cuando la aplicación las invoca explícitamente Transformer - un objeto que implementa una interfase IDataTransformer Este objeto le da a la aplicación un modo para modificar el valor de la partida de datos antes de utilizarla en la interfase del usuario Las modificaciones pueden ser una conversión de tipo simple (por ejemplo, en un enlace de la propiedad de Background a la propiedad de datos BalanceOwed, la aplicación se puede convertir en un fondo rojo en un saldo negativo y en verde en un saldo positivo), o a una conversión especifica de la aplicación (por ejemplo, en el enlace de la propiedad Text a la propiedad de datos NetWorth, la aplicación puede desplegar en pantalla la palabra "Rico", si el NetWorth excede de $1M, "Bourgeois" si el NetWorth reside entre $100K y $1M, y "Poor" si el NetWorth es menor de $100K) Los Transformers son todavía una herramienta poderosa simple que ayuda a separar la presentación de los datos Todos los enlaces excepto el de uno a la vez, dependen de haberlos notificado cuando cambia la propiedad de datos, de modo que el cambio correspondiente se puede hacer a la interfase del usuario Las clases de enlace reconocen la propiedad IPropertyChange (del espacio de nombre System ComponentModel), como un medio para implementar las notificaciones requeridas La tabla siguiente es una lista de los elementos expuestos por el espacio de nombre System Windows Data Clases ArrayListCollectionView Encapsula el soporte de edición de colección para la clase de colección ArrayListDataCollection Esta clase no puede ser heredada Proporciona una implementacion integrada de una colección de datos de lista de matriz con una mterfase de visión de colección subyacente También implementa ICollectionChange para ArrayListDataCollection notificar una cuantificacion cuando se agregan partidas, se eliminan partidas o es regenerada toda la colección total Representa un objeto de declaración de enlace, utilizado para administrar los enlaces entre una mterfase del usuario de propiedad dinámica (Ul) y los datos fuente Proporciona acceso a un caso de un solo tiempo Binding de ejecución de enlace Esta clase no puede ser heredada Una clase de visión de colección utilizada para las visiones de datos Microsoft® BindingListCollectionView Active® Data Objects (ADO) Los objetos de esta clase mantienen una estrucutra de colección existente—por ejemplo, una ArrayListDataCollection u otro CollectionContainer DataSet dentro del ItemCollection Implementa una visión de colección que incluye revisiones para la afinidad de ContextAffinityCollectionView contexto Soporta la referencia de objetos de los objetos que están siendo utilizados como contextos de datos para un enlace Esta DataContextObjectRef clase no puede ser heredada Soporta la referencia de objetos para las fuentes de datos Esta clase no puede ser DataSourceObjectRef heredada Encapsula los argumentos para los eventos de transferencia de transferencia de datos Los eventos son enrutados eventos que son manejados específicamente por un DataTransferEventArgs procesador de gestión designado basado en el delegado DataTransferEventHandler Representa una referencia de objeto para un elemento, siendo especificado el objeto por ElementObjectRef su ID del elemento Esta clase no puede ser heredada Representa una referencia de objeto ExplicitObjectRef explícita a un elemento Esta clase no puede ser heredada Implementa una visión de colección para las ListCollectionView colecciones basadas en la IList Sirve como una fuente de datos para el enlace de datos Las partidas de datos que ObjectDataSource se pueden enlazar pueden ser especificadas como tipos de tiempo de ejecución de lenquaie común La clase abstracta que es utilizada como la clase de origen de los ElementObjectRef, ObjectRef ExplicitObjectRef, y TypeObjectRef Los objetos de esta clase mantienen la colección de los parámetros nombrados ParameterCollection (con sus valores correspondientes) para un SqlDataSource Esta clase representa una condición de una QueryCommand sola selección para ser presentada a la base de datos Encapsula los argumentos pasados ya sea en el evento RefreshCompleted o en la RefreshCompletedEventArgs ObjectDataSource, o en el evento RefreshCompleted de la XmlDataSource Una lista de comandos Sql y los nombres de SqlCommandList las tablas que deben utilizarse para llenarlas SqlDataSource tiene los datos de un SqlDataSource Servidor Microsoft SQL para utilizarlos en el enlace de datos Permite que la referencia de recursos para una clase transformadora que es definida TransformerSource como un código detras de la aplicación actual Soporta las referencias de objetos por tipo TypeObjectRef Esta clase no puede ser heredada La WinFSDataSource facilita la clase de los WinFSDataSource datos almacenados en el WmFS con las aplicaciones Avalon Clase XmlDataNamespaceManager Utilizada para declarar los espacios de XmlDataNamespaceManager nombre que van a ser utilizados en las solicitudes de enlace XPath de datos Xml Sirve como una fuente de datos para el enlace de datos a los nodos de contenido de XmlDataSource Lenguaje de Marca Extensible (XML) Declara un espacio de nombre individual XmlNamespace dentro de una fuente de datos XML Interfases Usado para crear clases que declaran los IContains cntenos de filtración para las vistas de colección Soporta la creación de objetos de fuente de datos Los objetos de fuente de datos son IDataSource utilizados para la representación común de datos para el enlace de datos Proporaona métodos que hacen posible que IDataTransformer la transformación del lado del cliente de los datos enlazados Enumeraaones Describe propiedades especiales de un enlace Para el uso de lenguaje de marca (nombrado por clave "XAML") "Longhorn" para las Declaraciones que Utilizan el BindFlags Enlace de datos Este BindType para la enumeración que es utilizada para especificar el tipo de enlace (una vía, dos vías, y asi sucesivamente) BindStatus Condición de un Enlace Descnbe la forma en que los cambios transferirá los valores de datos a y desde las BindType propiedades fuente y las propiedades objetivo de un enlace SqlDataSource ode La enumeración de los modos posibles que puede tener la SqlDataSource Este modo determina que clasificación de datos es regresada cuando la aplicación recupera el valor de una propiedad de Datos Especifican cuando se actualizan las fuentes de datos (transferencia de datos de objetivo a fuente) debe ocurnr en un enlace Estableciendo estos valores solamente UpdateType serán importantes si un BindType de enlace es ajustado a Dos Vías (o izquierdo como por omisión) Delegados Representa el método que maneja el evento DataChanged ongmado por una fuente de DataChangedEventHandler datos que implementa una IDataSource DataTransferEventHandler Representa el método que maneja un evento de transferencia de datos ongmado por un Enlace RefreshCompletedEventHandler Representa el método que maneja los eventos ObjectDataSource RefreshCompleted y XmIDataSource RefreshCompleted Espacio de Nombre de Medios Un espacio de nombre de medios 318 proporciona varias clases de medios Los desarrolladores de la aplicación, asi como los desarrolladores de los componentes, pueden utilizar estas clases para desarrollar varias funcionalidades de presentación Las clases de ejemplo en los espacios de nombre de medios 318 incluyen una clase "ImageEffect" que permite ciertos efectos de formación de imágenes (por ejemplo, difuminacion y escala de grises) y una clase de "Brocha que proporciona un mecanismo para llenar un área utilizando colores solidos, gradientes, imágenes, video y similares El espacio de nombre de medios 318 incluye un sub-espacio de nombre System Windows Media Animation que incluye servicios que permiten que un desarroMador anime las propiedades y coordine un conjunto de animaciones con un conjunto de lineas de tiempo Una animación es un objeto que cambia un valor en un periodo de tiempo Los efectos de animación incluyen el movimiento de un objeto en la pantalla, el cambio de tamaño, forma o color de un objeto Se proporcionan clases múltiples de animación para implementar varios efectos de animación Los efectos pueden ser logrados asociando una animación con un valor de propiedad del elemento Por ejemplo, para crear un rectángulo que aparece y se desvanece de la visión, están asociadas una o mas animaciones con la propiedad de opacidad del rectángulo El espacio de nombre de medios 318 también incluye un sub-espacio de nombre System Windows Media TextFormatting que proporciona varios servicios de texto Por ejemplo, una maquina de texto "TextFormatter" proporciona servicios para los saltos de lineas de textos y el formateo de textos presentados en una pantalla El 'TextFormatter" tiene la capacidad de manejar diferentes formatos de caracteres de textos y estilos de párrafos, asi como manejar una distribución internacional de texto La siguiente tabla enumera los elementos de ejemplo expuestos por el espacio de nombre System Windows Media Clases ArcSegment Representa un arco elíptico entre dos puntos AudioData Hace posible la reproducción de archivos de audio de acuerdo con la condición de un nodo de tiempo AudioData Converter AudioDataConverter BezierSegment Representa una curva cubica de Bezier dibujada entre dos puntos Brush Proporciona un significado genérico para llenar un área utilizando colores solidos (SohdColorBrush), gradientes (LmearGradientBrush, RadialGradientBrush), imágenes de video (ImageBrush), y mas BrushConverter Utilizado para convertir un objeto de Brocha en y desde otro tipo de objeto Brusher Implementa un conjunto de colores solidos previamente definidos Representa una linea que conecta el ultimo punto del objeto PathFigure con su punto de CloseSegment partida Filtro para enumerar los codees Solamente CodecFilter estos codees que coinciden con las propiedades serán enumeradas Información acerca de un codee especifico y una fabnca para crear un codee Esto es Codeclnfo regresado del enumerador codee ColorCollection ColorCollectionConverter - Clase convertidora para convertir casos de otros ColorCollectionConverter tipos a y desde los casos ColorCollection ColorContext ColorConverter Utilizado para convertir un objeto de Color en y desde otro tipo de objeto Colors Implementa un conjunto de colores previamente definidos ContainerVisual Maneja una colección de objetos Visuales DashArrays DashArrays - La clase DashArrays . es estática, y contiene propiedades para estilos de guión bien conocidos DoubleCollection DoubleCollectionConverter DoubleCollectionConverter - Clase convertidora para convertir casos de otros tipos a y desde casos DoubleCollection Drawing Un dibujo es una lista de primitivas de 2 dimensiones Dra ingBrush DrawingBrush - Esto define el TileBrush en su contenido como un Dibujo DrawingContext Contexto de dibujo Visual que contiene el contenido gráfico que DrawingVisual va a ser dibujado Representa la geometría de un circulo u ElhpseGeometry ovalo FontFamily Familia de fuentes La clase FormattedText es una parte del API del texto fácil Avalon MIL, el cual tiene por FormattedText objeto a los programadores que necesitan agregar algún texto simple a una visual MIL Una clase abastracta que proporciona la funcionalidad básica para todas las clases geométricas, tales como ElhpseGeometry, RectangleGeometry, y PathGeometry La Geometry clase Geometry de objetos puede ser utilizada para sujetar, para la prueba por golpes, y para presentar datos gráficos de 2 Dimensiones Representa una colección de objetos GeometryCollection Geometry GetPageEventArgs Clase GetPageEventArgs GlyphRun Clase de ejecución Glyph La fase física de la fuente que corresponde GlyphTypeface a un archivo de fuente sin un disco Una clase abstracta que descnbe un llenado de gradiente Las clases que se denvan de GradientBrush descnben modos diferentes GradientBrush para interpretar la detenciones de gradientes GradientStop Descnbe la localización y color de un punto de transición en un gradiente Representa una colección de detenciones GradientStopCollection de gradiente GradientStop HitTestParameters Esta es la clase básica para empacar juntos los parámetros para un paso de prueba por golpe HitTestResult Esta base regresa la visual que fue volteada durante el paso de prueba de golpe Hwndlnterop Hwndlnterop HwndVisual HyphenationCandidate Describe un candidato Hyphenation ICCProfile Llena un área con una imagen Esta clase puede ser utilizada para especificar ImageBrush imágenes como el llenado y fondo de los otros objetos ImageCodecCollection La clase de codees (real Codeclnfos) en el sistema ImageCodecEnumerator El enumerador para Image los cuadros El ImageColorTransform Realiza la administración de color en una tubería de ImageColorTransform elaboración de imagen ImageData Contiene una imagen y los datos relacionados ImageDataBuilder Este objeto es utilizado para construir un objeto ImageData El ImageDecoder es un contenedor para los cuadros de imagen Cada cuadro de imagen es una ImageSource A diferencia del ImageSource ImageDecoder el NO es un objeto mutable y puede ser reiniciahzado ImageDecoder para una comente diferente de imagen Sin embargo cualesquiera ImageSources (cuadros) que regresan deben de ser inmutables ImageDecoderBmp El descodificador integrado Microsoft Bmp (Bitmap) ImageDecoderGif El descodificador integrado Microsoft GIF ImageDecoderlcon El descodificador integrado Microsoft Icón ImageDecoderlnternal Solo para uso interno I mageDecoderJ peg El descodificador integrado Microsoft Jpeg ImageDecoderPng El descodificador integrado Microsoft PNG ImageDecoderTiff El descodificador integrado Microsoft Tiff Esta clase de ImageEffect es la clase básica para todos los efectos de imagen (difummacion escala de gnses etc ) Es posible que un efecto no tenga entradas algunas pero un efecto debe de tener por lo ImageEffect menos una salida Estas implementaciones de cosas por omisión asumen esto Si un efecto denvado se va a reproducir con una Salida/Salida asegurarse de que por lo menos se encuentre una El efecto de difummacion Gaussiano Es una entrada simple un efecto de salida simple Alvertencia Si el efecto esta siendo escalado (por ejemplo Input ScaleX ó Input ScaleY no es 1) y Expand es cierto entonces es posible para las dimensiones ImageEffectBIur de una salida más grandes o mas pequeñas que el PixelWidth y luego PixelHeight Ajusfar la memona intermedia de pixeles alimentados a una copia para evitar problemas Este efecto puede hacer volar una imagen ImageEffectFhpRotate en X o Y y girarla por múltiplos de 90 grados ImageEffectGammaCorrect Este efecto cambia la gama de una imagen ImageEffectGlow Realiza un efecto de brillo Es una sola entrada, un solo efecto de salida Convierte una imagen en escala de grises ImageEffectGrayscale Es una sola entrada, un solo efecto de salida ImageEffectNegate Niega una imagen Es una sola entrada y un solo efecto de salida lmageEffectSha en Unsharp mask Es una sola entrada, un solo efecto de salida ImageEffectSource ImageEffectSource implementacion de la clase ImageEffectSourceCollection Las salidas de los efectos de la colección de imágenes ImageEffectTint Tmt constructor Es una sola entrada, y un solo efecto de salida ImageEncoder ImageEncoder recolecta un conjunto de cuadros (ImageSource) con sus miniaturas y metadatos asociados, y los almacena a una comente especifica Ademas de las miniaturas y metadatos específicos del cuadro, también puede haber una miniatura y metadato de ancho de imagen (global), si el codee la soporta I mageEncoderBmp Archivos de Codificador Integrados para el Bmp ImageEncoderGif Archivos de Codificador Integrados para Gif ImageEncoderlnternal ImageEncoderlnternal recolecta un conjunto de cuadros (ImageSource) con sus miniaturas y metadatos asociados y los almacena a una comente especifica Ademas de las miniaturas y metadatos específicos del cuadro pueden haber también miniaturas y metadatos del ancho de la imagen (globales) si lo soporta el codee ImageEncoderJpeg Codificador integrado para archivos Jpeg ImageEncoderPng Codificador integrado para archivos Png ImageEncoderTiff Codificador integrado para archivos Tiff ImageExchangeMetaData Esta clase es utilizada para tener acceso y ajustar metadatos para ImageFiles los cuales tienen un metadato de estilo Exif Los etaDatos son almacenados como pares de Clave/Valor en donde la Clave no son ImageExchange etaData necesariamente únicas Esta clase proporciona el acceso genénco a todos los metadatos dentro de una imagen asi como expone las propiedades CLR para ciertas propiedades bien conocidas ImageExchangeProperty - un registro de una ImageExchangeProperty ImageExchangeID y el objeto el cual es el valor de esa propiedad ImageMetaData Esta clase es utilizada para tener acceso y ajustar metadatos para Imágenes Esta clase expone una propiedad ImageMetaData CodecMetaData la cual expone medios específicos del codee para tener acceso a los metadatos para esta imagen ImagePalette Clase ImagePalette Opciones de dimesionamiento para una ImageSizeOptions imagen La imagen resultante será escalada basada en estas opciones Define los métodos propiedades y eventos para la tubería de elaboración de imágenes ImageSource incluyendo descodificadores y efectos ImageSourceCollection La colección de codees (realmente ImageSource) en el sistema ImageSourceConverter ImageSourceConverter IntegerCollection IntegerCollectionConverter - Clase de IntegerCollectionConverter convertidor para convertir casos de otros tipos en y de casos de IntegerCollection LinearGradientBrush Define un gradiente lineal utilizado para llenar un área LineGeometry Representa la geometría de una linea Representa una linea entre dos puntos A diferencia de los objetos LineGeometry el LineSegment LineSegment deberá estar contenido dentro de un PathFigure Crea una transformación arbitrana de matnz afín utilizada para manipular objetos o MatnxTransform coordinar sistemas de un plano bidimensional MediaData MediaData Utilizado para reproducir el contenido de Audio/Video MediaSystem La clase ediaSystem controlan la capa de medios Llena un área completa con una imagen Porciones de la imagen son estiradas para NineGndBrush que enca|en dentro de los margenes definidos Representa una subseccion de una geometría una sola sene conectada de dos PathFigure segmentos geométricos bidimensionales PathFigureCollection PathFigureConverter PathFigureConverter Representa una forma compleja que puede PathGeometry estar compuesta de arcos curvas elipses lineas y rectángulos PathGeometryConverler PathGeometryConverter Una clase abstractacta que representa un segmento de un objeto PathFigure Clases que se denvan de PathSegment tales como PathSegment ArcSegment BezierSegment y LineSegment representa tipos específicos de segmentos geométricos PathSegmentCollection Representa una lista de objetos PathSegment PathSegmentConverter PathSegmentConverter Pen Descnbe como se subraya una forma PixelFormats PixelFormats - La colección de Pixel Formats soportados PointCollection PomtCollectionConverter - Clase convertidora para convertir casos de otros PointCollectionConverter tipos en y de casos de PomtCollection Esta es la clase para la prueba de PomtHitTestParameters recuperación especificando parámetros con un punto Esta clase regresa el punto y la recuperación visual durante una pasada de PointHitTestResult la prueba de recuperación PolyBezierSegment PolyBezierSegment PolyLineSegment PolyLineSegment PolyQuadraticBezierSegment PolyQuadraticBezierSegment PrintContext mantiene una condición y PrintContext contexto para una interacción de impresora QuadraticBezierSegment QuadraticBezierSegment Define un gradiente radial utilizado para llenar un objeto Un punto focal define el RadialGradientBrush inicio del gradiente y el circulo define el punto final de un gradiente RectangleGeometry Representa la geometría de un rectángulo RetainedVisual RetamedVisual Utilizados para girar un objeto alrededor de RotateTransform un punto especificado en un plano x y bidimensional Escala un objeto en el plano x-y bidimensional iniciando desde un punto ScaleTransform central definido Los factores de escala son definidos en las direcciones x- e y desde este punto central Ske Transform Representa un cesto bidimensional SohdColorBrush Representa un llenado uniforme solido StartSegment StartSegment Colección de sublineas La sublinea puede SubLineCollection ser objeto de estos tipos GlyphRunLmeOver Inline Clase abstracta que descnbe un modo para llenar una región con uno o mas mosaicos Las clases denvadas definen tipos TileBrush diferentes de mosaicos que pueden ser utilizados por ejemplo la ImageBrush hace posible que se llene un área con una imagen Una clase abstracta que se puede utilizar como la clase de origen de todos los tipos de transformaciones en un plano bidimensional incluyendo la rotación (RotateTransform) escala (ScaleTransform) sesgo (SkewTransform) y traslación Transform (TranslateTransform) La jerarquía de esta clase difiere de la estructura atnz tanto porque es una clase como soporta la animación y semánticas de enumeración TransformCollection Utilizada para crear y manipular una lista de objetos Transform TransformConverter Utilizadas para convertir un objeto Transform en o desde otro tipo de objeto TranslateTransform Translada un objeto en el plano x y bidimensional Typeface Una Typeface es una combinación de familia peso estilo y estiramiento VectorCollection VectorCollectionConverter - Clase convertidora para convertir casos de otros VectorCollectionConverter tipos en y desde casos VectorCollection Hace posible reproducir archivos de video VideoData de acuerdo con la condición de un nodo de tiempo VideoDataConverter VideoDataConverter Clase básica para todos los tipos Visuales Proporciona servicios y propiedades comunes para todos los Visuales, Visual incluyendo la prueba de recuperación, transformación de coordenadas, y los cálculos de caja de enlace VisualCollection Una colección ordenada de objetos visuales Representa un árbol de objetos Visuales a Visual anager un objetivo de presentación, generalmente una ventana Interfases IHyphenate IHphenate es la interfase para Hyphenation Service Provider Si esta interfase es implementada en una clase que es denvada de un RetainedVisual, las operaciones del Retained Visual, en el modo de validación, por ejemplo, el subsistema de gráfico invocara OnRender IRetamedRender de una manera perezosa (es decir, si el Visual aparece por primera vez en la pantalla) Observar que OnRender puede ser invocado por el sistema en cualquier momento Esta interfase define los métodos y servicios ivisual comunes disponibles desde un objeto Visual Enumeraciones BrushMapping ode - Enumeración la cual descnbe si ciertos valores deben de ser considerados como coordenadas locales Brush appmgMode absolutas o si deben de ser considerados múltiplos de un tamaño de caja de enlace ChannelDescnption Descnbe el orden de cada canal de datos de pixel Colorlnterpolation ode Esto determina la Colorlnterpolation ode forma en que tos colores son interpolados en un gradiente CornbineMode Especifica el método utilizado para combinar dos áreas geométricas FilIRule Especifica la forma en que debe de ser GradientSpreadMethod dibujado el gradiente fuera del vector o espacio especificado del gradiente El comportamiento para la filtración de HitTestFilterBehavior visuales mientras se hace la prueba de recuperación Comportamiento de los controles enum HitTestResultBehavior cuando ocurre una recuperaaón positiva de la prueba de recuperación El HonzontalAlignment enum es utilizado para describir la forma en que es colocado HonzontalAlignment el contenido honzontalmente dentro de un contenedor H phenationRule Reglas de Union con Guiones Soportadas ImagePaletteType Tipos de paleta previamente definidos MediaState Mantiene la condición de la comente de los Medios PenDashCap Enumeración la cual descnbe los dibujos de los extremos de un PenDashCap guión dentro de una linea con guiones PenLineCap Descnbe la forma en el extremo de una linea o segmento PenLmeJoin Enumeración la cual describe PenLineJoin el dibujos de las esquinas en la linea Rotación que va a ser aplicada solamente Rotation se soportan múltiplos de 90 grados StandardColorSpace Stretch Enumeración que descnbe la forma en que una fuente recta debe de ser Stretch estirada para que encaje en una recta de destino StyleSimulations Simulación del estilo de fuente TileMode TileMode Enumeración que descnbe el dibujo de los extremos de una linea La Vertical Alignment enum es usada para describir la forma en que es colocado VerticalAlignment verticalmente el contenido dentro de un contenedor Estructuras Esta clase es un auxiliar para implementar Characterlndexer indicadores nombrados caracteres Color Representa colores en términos de canales alfa rojo verde y azul Esta clase es un auxiliar para implementar Glyphlndexer indicadores nombrados de las mediciones de pictogramas ImageExchangeID - Esta clase es del tipo el cual puede ser utilizado como la clave para ImageExchangeID una propiedad en un caso de ImageMetaData Esto puede ser ya sea un entero o una cadena ImageExchange etaDataEnumerator El enumerador para ImageExchangeMetaData Contiene la interfase lEnumerator asi como ImageExchangeMetaDataEnumerator versiones fuertemente tipificadas de los APIs ImageFrameEnumerator El enumerador de los cuadros de Imagen Una clase ImageMetaDataRational representada por un numerador firmado y un denominador firmado El valor efectivo de ImageMetaDataRational una proporción es numerador / denominador La clase racional es presentada como un numerador sin firmar y un denominador sin ImageMetaDataUnsignedRational firmar El valor efectivo de una racional es el numerador / denominador ImagePaletteColor Estructura ImagePaletteColor Un rectángulo compuesto de valores enteros Generalmente utilizado para IntegerRect especificar el rectángulo fuente (en pixeles) de ínteres de una imaqen Representa una matnz de 3x3 utilizada para las transformaciones en el espacio bidimensional Debido a que el Avalon Matnx solamente permite transformaciones afines la estructura de la Matriz tiene seis entradas en vez de nueve Esta clase es un auxiliar para implementar indicadores nombrados para las cadenas NamedStnnglndexer localizadas en culturas múltiples PixelFormat Pixel Format Definition para imágenes y superficies basadas en pixeles Delegados GetPageEventHandler Delegado GetPageEventHandler Delegado para la prueba de recuperación para controlar si se prueba contra el HitTestFilterDelegate descendiente de la visual Delegado para la prueba de recuperación para controlar el regreso de la información H itTestResu ItDe légate de recuperación en la visual Las sig u ientes tablas en u m era n los elem entos d e ej em plo expuestos por el espaci o d e nom bre System W i ndows Med ia Ani m ation Clases Cualquier clase que no se deriva del DependencyObject pero la cual tiene Animatable propiedades que pueden ser animadas debe de ser derivada de esta clase Esta clase abstracta proporciona la funcionalidad básica para las condiciones de animación, tales como AnimationCollection ColorAnimationCollection, DoubleAnimationCollection, y SizeAnimationCollection Sobrecontrolar esta clase para implementar las animaciones de nivel elemental las cuales pueden participar en el proceso de AnimationEffect presentación para ejemplificar las animaciones de elementos múltiples al momento de la presentación AnimationEffectCollection Mantiene una colección de AnimationEffects BoolAnimationCollection Representa una colección de animaciones BoolModifier Bool odifier BoolTimedModifier ByteAnimationCollection Representa una colección de animaciones BoolModifier ByteModifier ByteTimedModifier CharAnimationCollection Representa una colección de animaciones CharModifier CharModifier CharTimedModifier ColorAnimation Anima un valor de color de una propiedad ColorAnimationCollection Representa una colección de animaciones Color odifier Color eyFrameCollection Color odifier ColorTimedModifier DecimalAmmationCollection Representa una colección de animaciones Decimal odifier DecimalModifier DecimalTimedModifier DoubleAnimation Utilizado para animar las propiedades que acepta un valor Doble DoubleAnimationCollection Representa una colección de animaciones Double odifier DoubleKeyFrameCollection DoubleModifier DoubleTimed odifier FloatAnimation Utilizado para animar las propiedades que aceptan un valor Sencillo FloatAnimationCollection Representa una colección de animaciones FloatModifier FloatKeyFrameCollection FloatModifier FloatTimedModifier IntAnimationCollection Representa una colección de animaciones IntModifier IntModifier IntTimedModifier LengthAnimation Utilizado para animar propiedades que aceptan un valor de longitud LengthAnimationCollection Representa una colección de animaciones Length odifier LengthKeyFrameCollection Lengt odrfier LengthTimed od ifier LongAnimationCollection Representa una colección de animaciones LongModifier LongModifier LongTimedModrfier MatnxAnimationCollection Representa una colección de animaciones MatixModrfier atnxModifier atnxTimedModifier odifier ObjectAnimationCollection Representa una colección de animaciones ObjectModifier Object odifier ObjectTimedModifier Esta animación puede ser utilizada dentro de una atrixAnimationCollection para PathAnimation mover un objeto visual a lo largo de una trayectoria PomtAnimation Utilizado para animar propiedades que aceptan valores de punto PointAnimationCollection Representa una colección de animaciones PointModifier PointKeyFrameCollection Point odifier Poi ntTi med Mod if ler RectAnimation Utilizado para animar propiedades que aceptan un valor Rect RectAnimationCollection Representa una colección de animaciones Rect odifier RectKeyFrameCollection Rect odifier RectTimedModifier ShortAnimationCollection Representa una colección de animaciones ShortModifier ShortModifier ShortTimed odifier Define una animación basada en el Tamaño de un objeto Proporcionando la información SizeAnimation del Tamaño, puede parecer que un objeto se contrae o amplia con el paso del tiempo SizeAnimationCollection Representa una colección de animaciones Size odifier SizeKeyFrameCollection SizeModifier SizeTimedModifier StrmgAnimationCollection Representa una colección de animaciones StringModifier StnngModifier StnngTimedModifier Representa una condición de temponzacion Timeline de tiempo de ejecución para objetos programados TimelineBuilder Un objeto que puede ser utilizado para crear objetos Timeline TimeManager El objeto que controla un árbol de temponzacion completo Un objeto que realiza conversiones de tipo TimeSyncValueTypeConverter que comprenden valores TimeSyncValue TimeTypeConverter Un objeto que realiza conversiones del tipo que comprenden valores Time VectorAnimation Utilizado para animar propiedades que aceptan un valor de Vector VectorAnimationCollection Representa una colección de animaciones VectorModifier VectorKeyFrameCollection VectorModifier VectorTimed Mod ifier Interfases Representa un objeto que puede ICIock proporcionar valores lineales de tiempo Define el comportamiento básico de un objeto modificador Un modificador es un objeto que toma un objeto, denominado el IModifier valor básico , de cierto tipo y regresa otro objeto del mismo tipo como su salida ITimingControl Define el comportamiento de las lineas de tiempo y los objetos programados Representa un objeto que puede construir ITimingControlBu una linea timelme Enumeraciones AnimationType Describe el comportamiento de una animación CloneType Los tipos de copias que puede solicitar el CloneCore InterpolationMethod Describe la forma en que calcula la animación sus valores de salida KeyTimeType Los tipos diferentes de KeyTimes Valores del atributo endSync, los cuales especifican la forma en que el contenedor TimeEndSync calcula su duración simple basados en las duraciones de los descendientes Especifica la forma que se comporta la linea TimeFill de tiempo después de que ya no esta activa TimeRestart Valores del atnbuto Timelme Restart Describe la posición de la linea del tiempo, usada para especificar el comportamiento del método de Búsqueda de la interfase TimeSeekOngin ITimingControl definiendo la posición en la cual es aplicada la compensación TimeSyncBase El evento para sincronizar un valor de inicio y de fin para Estructuras ColorKeyFrame DoubleKeyFrame FloatKeyFrame Esta clase es utilizada para pasar una matnz de Splines clave dentro de la propiedad KeySphne KeySplines de un fragmento de animación Un KeyTime es utilizado para especificar KeyTime cuando tiene lugar un KeyFrame con respecto a un tiempo de una animación LengthKeyFrame PomtKeyFrame RectKeyFrame SizeKeyFrame Un valor que representa el tiempo con las Time operaciones asociadas aritméticas asociadas de tiempo TimehneEnumerator Partidas de enumerados en una colección de TimelineList Un valor que representa un tiempo de inicio TimeSyncValue y final absoluto relativo para una linea de tiempo VectorKeyFrame Las siguientes tablas enumeran los elementos de ejemplo expuestos por el espacio de nombre System Windows Media TextFormatting Clases InlmeObjectlnfo Proporciona detalles de la medición para los objetos de texto en linea El cliente de formateo pasa de este objeto como un parámetro para el método GetlnlineObjectlnfo El TextFormatter es una maquina de texto "Avalon" y proporciona servicios para el formateo de texto, y los saltos de linea de texto El TextFormatter puede manejar TextFormatter diferentes formatos de caracteres de texto y estilos de párrafos e incluye el soporte para la distnbucion internacional de textos TextHighlightBounds Se enlaza en enlace de los rangos de texto Representa la información acerca de un Textlnfo bloque de texto en el almacén de caracteres de fuente de texto del cliente Proporciona servicios a una linea de texto Se hereda de esta clase para implementar TextLine servicios que manipulan y formatean una linea de texto Esta es una clase abstracta TextMa rkerGenerated Content Genera la linea de la salida del marcador de lista Define el estilo y tipo de un marcador de lista de párrafo El cliente de formateo utiliza TextMarkerlnfo esta clase como un parámetro para proporcionar detalles de marcador al método GetTextMarkerlnfo Representa las propiedades que pueden cambiar de un párrafo al texto, tales como la TextParagraphProperties dirección de flujo, alineación, o sangrías Define una secuencia de caracteres que comparten un solo conjunto de propiedad El cliente de formateo proporciona detalles de TextRun TextRun en esta clase cuando el TextFormatter lo pasa como un parámetro al método GetTextRun TextRunBounds Enlaces de la ejecución de texto Proporciona servicios de almacenamiento en la memona mtantanea al objeto TextRunCache TextFormatter con el objeto de mejorar el funcionamiento TextRunClientData Representa los datos de información del cliente asociados con un TextRun Proporciona datos de caracteres y propiedades de formateo al TextFormatter Todo el acceso al texto en la TextSource es lograda a través del método GetTextRun, el TextSource cual esta diseñado para permitir que el cliente virtuahce el texto de cualquier manera que elija Esta es una clase abstracta Proporciona la descripción de las características de corte de texto El cliente de formateo llena los detalles de corte en TextTnmminglnfo esta clase cuando el TextFormatter la pasa como un parámetro del método GetTextTnm m i ng I nfo Enumeraciones TextParagraphFlags Señalizaciones que descnben las características del párrafo TextRunCacheFlags Tipo de contenido de la memoria instantánea de operación de texto TextRunType Indica el tipo de TextRun Estructuras El TextSourceCharacterlndex representa TextSourceCharacterlndex una tecla de control o posición de carácter en el texto Capa de Integración de Medios Una Capa de Integración de Medios (MIL), proporciona un API para los desarrolladores o programadores para que realicen efectos de composición relativamente complejos dentro de sus aplicaciones de una manera directa, mientras que apalancan la unidad de procesamiento de gráficos de una manera que no impacta de modo adverso el funcionamiento normal de la aplicación En un aspecto, el MIL proporciona la capacidad para combinar tipos de medios diferentes (por ejemplo, 2D, 3D, Video, Audio, texto, imágenes y asi sucesivamente), y animarlos juntos de una manera suave y continua El MIL proporciona una arquitectura de gráficos para composiciones de etapas múltiples y un modelo de programación que permite la paridad funcional en las interfases programática y escrita Una API y un escrito permiten la creación de una estructura retenida o una descripción de escena que es compuesta cuando es presentada, e incluye todavía áreas que son de naturaleza mas inmediata Por medio de las interfases, el MIL proporciona acceso a la estructura de datos para almacenar la información visual, de modo de que las aplicaciones pueden aprovechar las capacidades de los gráficos proporcionados por el equipo de computo Las interfases están basadas en un modelo de objeto de elemento y en un lenguaje de marca de gráficos de vector para utilizar ese modelo de objeto de elemento de una manera que permita que los desabolladores del código del programa hagan la interfase de manera consistente con la estructura de datos de gráfica de la escena para producir los gráficos La estructura de datos también puede ser utilizada para presentar, ya sea directamente o para 'recopilar" la información visual de modo que pueda ser proporcionada a un sistema de gráficos de nivel mas bajo para una composición y animación rápida El modelo del objeto del elemento de gráficos de vector generalmente corresponde a los elementos de forma y otros elementos que incluyen elementos de imagen y video que se correlacionan con un modelo de objeto gráfico de escena de la gráfica de escena La marca puede ser analizada en datos que incluyen elementos en un árbol de elementos que es traducido en objetos de una estructura de datos gráficos de escena La marca puede ser producida directamente en los datos y pide que se creen los objetos gráficos de escena El lenguaje de marca proporciona medios diferentes para describir un elemento, incluyendo un formato de eslabones simple, o una sintaxis de propiedad compleja, los cuales pueden ser denominados haciendo posible el nuevo uso en otras localizaciones de la marca Un aspecto del MIL, es la integración de la animación y la programación en el conjunto API, proporcionando la animación como un concepto de nivel básico inherente Con el objeto de facilitar la animación suave, el MIL proporciona un sistema de procesamiento de gráficos de niveles múltiples y el método (por ejemplo, de un sistema operativo) Uno de dichos sistemas de procesamiento de gráficos de nivel múltiple comprende dos componentes, incluyendo una marca a petición, o un componente de marca lenta de alto nivel y una marca rápida (por ejemplo, en el índice de regeneración del cuadro de gráficos del equipo), un componente de bajo nivel En general, el componente de alto nivel menos frecuente realiza aspectos de computación intensivos de parámetros de actualización de animación y estructuras transversales de datos de escena, con el objeto de pasar estructuras de datos simplificados al componente de nivel bajo El componente de nivel bajo opera en una frecuencia mas alta, de modo que el índice de regeneración del cuadro del subsistema de gráficos procesa las estructuras de datos en datos de salida constantes para los subsistemas de gráficos El procesamiento de bajo nivel incluye la interpolación de cualesquiera intervalos de parámetros que sean necesarios para obtener los valores instantáneos para presentar la escena por cada cuadro de animación Los objetos MIL de nivel alto incluyen un árbol visual, el cual es un objeto que contiene el contenido principal que va a ser dibujado Los controles se derivaran de los visuales del árbol directamente Los visuales son independientes del aparato y el contexto de origen El objetivo de presentación es el aparato al cual es dibujado el visual Este objeto (por ejemplo pantalla) puede tener su propio mecanismo de desperdicio o invalidación Varios objetivos de presentación incluyen una pantalla en una ventana, una Impresora, un Meta-archivo, una Superficie y una 'Sub-ventana" la cual es una parte de la escena que es dibujada por separado del resto de la escena Otros objetos relacionados con el dibujo incluyen un Presentador Visual, que comprende un objeto que esta configurado para dibujar un árbol visual en el objetivo de presentación, y un objeto Display Scheduler que conoce cuando dibujar el árbol visual en el objetivo de presentación Un Time Manager es un objeto de contexto para un conjunto de nodos de temponzacion y es el objeto que invoca el programador para marcarlo Se proporciona un API visual, el cual es esencialmente un punto de partida para el dibujo por medio de una capa de integración de medios y comprende tipos múltiples de objetos, incluyendo un objeto VisualManager, el cual conecta un Arbol Visual al medio Los tipos diferentes de VisualManagers (por ejemplo, Pantalla, Impresora y Superficie) son responsables de presentar el Arbol Visual a su medio particular Un Visual es en donde el programador hace el dibujo, es un nodo en el árbol visual y proporciona un lugar para que se dibuje un programa Las APIs DrawingContext presentan un modelo de programación basado en el contexto para la forma en la que se construye el contenido visual que es la población de un Visual, y son presentados a unos ImageData Se proporcionan clases DrawingContext, asi como las clases y puntos de entrada necesarios para adquirir un DrawingContext y se enumera el contenido visual en un RetainedVisual/DrawingVisual Para hacer posible la capacidad de mutación, se proporciona un solo conjunto de tipos que se derivan de una clase básica común que se puede Cambiar Cualquier tipo para el cual se desea el cambio en la capacidad de mutación se puede derivar de la clase que se puede Cambiar Por ejemplo, en una programación de gráficos el modelo de objeto incluye Brochas, Plumas, Geometrías, FloatAnimations, GradientStops, Segmentos y asi sucesi amente Una propiedad IsChangeable especifica si el objeto que se puede cambiar puede ser modificado o no, dependiendo de su valor actual, el cual define una condición Una brocha es un objeto que representa un método para llenar un plano Ademas de poder llenar un plano de una manera absoluta, las brochas de la capa de integración de medios, también pueden adaptarse a la forma como llenan el plano en relación con el tamaño del objeto que están llenando Los ejemplos de los tipos de brochas incluyen SolidColorBrush , VisualBrush (los cuales pueden hacer referencia a una fuente de gráficos de vector/Visual), DrawmgBrush, LinearGradient, RadialGradient, ImageBrush y NineGridBrush Ciertos objetos de brocha tendrán una idea de la forma en que se relacionan con el sistema de coordenadas cuando son utilizados, y una idea de la forma en que ellos se relacionan con los limites del cuadro de la geometría con la cual están siendo utilizados El tamaño esta basado en el espacio desde donde se inicia el objeto que esta llenando la brocha La clase básica de Brocha tiene una Transformación, una opacidad general y un modo de mezcla La Brocha (y otros recursos de objetos en los Gráficos de Vector y el MIL API) se pueden Cambiar y se pueden escribir después de que han sido creados y siguen el patrón general que se puede Cambiar en la forma en que se comportan después de que son utilizados de una manera calificada La clase de objetos de Geometría puede ser utilizada para sujetar, para pruebas de recuperación y para presentar bases de datos de vector de dos Dimensiones con una Pluma y una Brocha Las clases de Geometría derivadas proporcionan una construcción mas especifica y semánticas de enumeración Se proporcionan un numero de tipos Geométricos específicos de forma, asi como una PathGeometry generalizada que permite la definición explícita de la Geometría con formas mas complejas La Geometría es una clase básica abstracta Una GeometryCollection es una colección de objetos de Geometría múltiples que han sido combinados utilizando las operaciones CombineMode en su área definida Este objeto permite la construcción mas fácil de combinaciones visuales de objetos de Geometría de la que es posible utilizando estrictamente los objetos PathFigure dentro de una PathGeometry La ImageSource es una clase abstracta, que comprende un bloque básico de construcción para la elaboración de imágenes Una ImageSource representa conceptualmente un solo conjunto de pixeles constante en un cierto tamaño y resolución Por ejemplo, una ImageSource puede ser un solo cuadro en un archivo de imagen que podría proporcionar un Descodificador, o puede ser el resultado de una transformación que opera por si misma en cierta ImageSource Una ImageSource se puede cambiar, no debido a que sus propias propiedades pueden ser cambiadas, sino debido a que las propiedades de sus sub-clases pueden ser cambiadas potencialmente Se proporciona una clase de objetos Transform que proporcionan la escalacion, los giros, la traducción y el sesgo del vector y los gráficos de trama Las clases Transform derivadas proporcionan un uso amistoso y semánticas de enumeración Los efectos proporcionan un medio para alterar los contenidos visuales de una escena de una manera céntrica a la presentación Por ejemplo, los VisualEffects (efectos de mapas de bits basados en las tramas) operan en una base de imágenes, con representaciones completamente compuestas de una porción de una escena Los efectos son desintegrados en vanos tipos incluyendo VisualEffects, BlendModes y VectorEffects Los VisualEffects pueden ser utilizados en una escena de modo retenida aplicándolos a una sub-grafica o un Elemento, o pueden ser utilizados en una tubería de imágenes independiente Los BlendModes es una forma especifica de efectos basados en la imagen y pueden ser aplicados a la escena de modalidad retenida generalmente de la misma manera que los VisualEffects Los Blendmodes realizan una combinación de los colores de la fuente y el destino según va siendo compuesta la fuente, por ejemplo, multiplican o agregan La Prueba de recuperación es utilizada para recolectar visuales en una escena y opera iniciando desde la parte superior del árbol de control y regresando un control o conjunto de controles por un punto o geometría Un control puede definir si es una recuperación o no, con servicios de soporte que incluyen la geometría presentada, el cuadro de limites, la geometría fuera de banda (región de recuperación), la opacidad de la imagen o mascara y su propia lógica El control puede regresar datos relacionados con el golpe específicos en el golpe El mecanismo de prueba de golpe puede filtrar los resultados de la prueba de golpe de una manera eficiente La prueba de golpe que realiza desde la extrema derecha a la izquierda del árbol visual siendo reportados los golpes a través de un recordatorio del orden-z, una modalidad de arriba-abajo Cuando desciende, las vistas del probador de golpes en el filtrado, en términos de relaciones del nivel del elemento, por ejemplo, un canvas con formas, o un panel de conexión con un canvas interior Cuando ocurre un golpe, el probador de golpes ya sea que puede continuar procesando golpes adicionales (si los hay) o detenerse Se proporciona un sistema de animación que comprende una maquina de control de temporizacion y un conjunto de objetos de animación La maquina de temporizacion es un servicio que puede ser utilizado por cualquiera de los objetos que exhiben comportamientos variables en el tiempo, por ejemplo, objetos de medios de animaciones, y audio o video Los objetos de animación implementan un conjunto de funciones que elaboran mapas de los lapsos de tiempo en otros tipos de datos, los cuales luego son utilizados como entradas en otros objetos de nivel mas alto La animación gráfica se logra asociando una colección de animación con una operación de presentación Cada animación utilizada en la animación de presentación puede se ejecutada en un reloj separado, al que nos referimos como una linea de tiempo" Una vez que es dibujada una primitiva animada y son especificados los parámetros de animación, el sistema de presentación de bajo nivel se hace cargo de un nuevo dibujo de la escena en intervalos regulares Cada vez que un cuadro es presentado, es computado el valor actual de las animaciones comprendidas en la escena, basado en el tiempo transcurrido (en la mayoría de los casos medidos por el reloj del sistema) y luego se vuelven a dibujar las primitivas animadas También están proporcionados Varios tipos de primitivas, características de color y soporte de medios por medio del MIL Los MediaData pueden ser utilizados para reproducir cualquier contenido de audio/video Espacio de Nombre de Diseño Un espacio de nombre de diseño 320 proporciona clases que hacen posible la edición de formas y textos, datos de formato y compartir los datos de proceso cruzado Estas clases proporcionan una metodología extensible para editar documentos, aplicaciones y otros contenidos El espacio de nombre de diseño 320 contiene la funcionalidad en dos niveles la funcionalidad de alto nivel para los desabolladores de la aplicación que desean editores listos para usarlos previamente empacados para diferentes tipos de información, y la funcionalidad de nivel mas bajo para aplicaciones mas avanzadas que introducen sus propios tipos de datos Los ejemplos de los editores listos para usarse previamente empacados ofrecen editores de textos planos, editores ricos de textos, editores de formas (la distribución de elementos) y el ingreso de contraseñas El nombre de espacio de diseño 320 proporciona un método flexible y extensible para organizar vanas funcionalidades En vez de proporcionar un editor de característica fija común, el nombre de espacio de diseño 320 proporciona una combinación de servicios, comportamientos y abstracciones que permiten que los desabolladores construyan soluciones de edición de información especializada, y que se pueden personalizar fácilmente El espacio de nombre de diseño 320 incluye vanas características de edición que se pueden personalizar, incluyendo servicios delimitados, comportamientos que se pueden apilar, patrones de diseñador-editor, diseñador abstracto para la edición de elementos, un modelo de objeto de texto abstracto, las capas del decorador, la superficie de diseño, el protocolo generalizado de transferencia de datos y el mecanismo extensible para deshacer Los servicios delimitados permiten la asociación de servicios específicos con porciones y sub-porciones particulares con datos de aplicación Este mecanismo también permite encender y apagar los servicios en diferentes alcances La clase principal que proporciona el soporte para los servicios es el Service anager, los servicios individuales son implementados utilizando las interfases IService e IScopedService El concepto de "comportamientos que se pueden apilar" permite que diferentes comportamientos sean activados en periodos de tiempo apropiados En una modalidad, esta anidada la activación del comportamiento basada en el tiempo, de modo que puede iniciar un sub-proceso y terminar mientras un proceso mas general es suspendido temporalmente y luego restaurado correctamente En vez de una codificación permanente de una solución, el método de los comportamientos que se pueden apilar soluciona este problema permitiendo una integración de procesos que no tienen un conocimiento previamente definido entre ellos La clase principal que proporciona soporte para este mecanismo es el EditRouter, los comportamientos individuales son subclases de las clases Editor y EditBehavior Los tipos Integrados de datos que se pueden editar son soportados por las subclases correspondientes del EditBehavior, tales como el TextEditor, ElementEditor y oveBehavior El concepto de "patrón del diseñador-editor" permite la separación entre la funcionalidad genérica de edición y una información sub-clasif icada mas especifica que se puede editar El editor no espera una estructura de datos especifica sobre la cual operar En vez de ello supone que el contenido de datos esta expuesto a través de alguna interfase abstracta, ocultando los detalles de im plementacion , pero que es suficiente para la acción correspondiente de la interacción de edición Este patrón es particularmente útil con los elementos (para editar formas) y para el texto (en la edición rica de texto) El "diseñador abstracto para la edición de elementos) es una aplicación del patrón editor-diseñador" para un área e edición de elementos (por ejemplo, la edición de formas) Varios elementos pueden tener diferentes estructuras internas, apariencias y comportamientos, pero si exponen algunos "diseñadores" estándar para movimiento, rotación, y redimensiacion, entonces llegan a poderse editar por el editor de elementos El modelo de texto abstracto es otra aplicación del "patrón editor-diseñador" para utilizarlo en la edición rica de textos Esta abstracción permite el almacenamiento de soportes diferentes para participar en la edición rica de textos, tales como RTF, XHTML, textos planos, marca XA L, código de fuente sintácticamente destacado, etc Aunque la naturaleza semántica y la estructura interna de estos tipos de textos puede ser diferente, exponiéndolos por ellos mismos por medio de un modelo de texto abstracto, permiten la aplicación de los mecanismos genéricos de edición Adicionalmente, este método permite la integración de textos y datos, de modo que los textos de diferentes almacenamiento de soporte pueden contener piezas entre ellos, mientras que proporcionan una experiencia continua de edición La capa del decorador es una herramienta unificada que proporciona una retroalimentacion visual rica durante la edición La capa del decorador proporciona un soporte el cual es uniforme para muchos tipos de retroahmentacion Se pueden adherir dinámicamente y separar visuales poderosos a los elementos y otras porciones de datos para identificar la actividad potencial del usuario que se puede aplicar a ellos La superficie de diseño es un control XAML que empaca previamente los recursos de edición, tales como la capa del decorador, y el enrutador de edición Esto simplifica el desarrollo de nivel medio de la edición Las funciones de edición tales como cortar/copiar/pegar y arrastrar/liberar son importantes en un ambiente de información integrado, pero pueden ser difíciles de soportar debido a la complejidad e incompatibilidad de los diferentes tipos de datos El protocolo de transferencia de datos generalizado soluciona esta dificultad proporcionando la combinación de abstracciones utilizadas por la extracción de datos, la inserción de datos, el arrastre de datos y la conversión de datos Este protocolo de transferencia de datos generalizado proporciona un mecanismo poderoso y flexible para la integración de datos-aplicacion El mecanismo extensible para deshacer maneja una pila de deshacer recolectando datos de diferentes tipos El administrador de la operación de deshacer incluye protocolos q ue manejan operaciones de d eshacer con diferentes ti pos de datos Las ta blas sig ui entes en u m era n los elem entos d e ej em plo expu estos por el espaci o de nom bre System Wi ndows Desig n Clases ActivationEventFilter EventFilter Esta es la realimentacion que muestra el Acti vation Recta ngle Adornerl nfo limite de los elementos DesignActive Adornerlnfo Proporciona información acerca de un decorador especifico en un adornerset Proporciona una superficie para desplegar en pantalla las decoraciones en los elementos que necesitan transcender el AdornerLayer orden Z (los elementos siempre necesitan estar en la parte superior) CanvasDesigner Diseñador Canvas por omisión Proporciona la funcionalidad de deshacer y volver a hacer para las acciones de tiempo ComponentChangeService de diseño que afectan los componentes Designer Proporciona un medio para editar el contenido en vivo Define un servicio opcional que las aplicaciones y controles pueden implementar para sobrecontrolar la DesignerFilterService elaboración de mapas por omisión entre un elemento y el diseñador proporcionado por el DesignerLookupService Permite los comportamientos de edición DesignerLookupService para los elementos de elaboración de mapas por parte de los diseñadores El elemento raíz recomendado para el DesignSurface contenido que se puede editar Agrega decoradores, servíaos y eventos EditBehavior Define la implementaaón para todos los comportamientos de edición Maneja las entradas del usuano para un tipo de selección particular, tal como texto, Editor elemento o tabla Generalmente existe un editor especifico para cada tipo de selección Asocia un tipo de selección con el modo de EdrtorTypeAttnbute selección Esta clase no puede ser heredada EditRouter Administra el conjunto de EditBehaviors activos actualmente EditRouterChangedEventArgs Argumentos para un evento Changed ElementEditor Editor del elemento EventFilter Hace posible la filtración y asignación del evento El Diseñador por omisión para todos los FrameworkElementDesigner controles que se denvan de FrameworkElement MoveBehavior Comportamiento de Movimiento ObjectSelection Selección del Sito ParentUndoUnrt ParentUndoUnit Implementación del ITextDesigner para el RichTextDes jner TextPanel y otros controles que soportan el ITextDocumentResult El RoutedEventAdapter hace descender un eventHandler especifico para un RoutedEventHandler de modo que un RoutedEventAdapter procesador pueda procesar diferentes tipos de eventos Utilizado por el EdrtRouter El SelectionRouter controla selecciones mezcladas con modos de selección múltiples Éste se deriva del EditRouter para SelectionRouter enrutar eventos para editores modulares (los cuales se denvan del Editor) Proporciona el acceso programático a la selección de partidas Ul Se puede obtener realimentación de las partidas SelectionService seleccionadas, asi como cambiar las partidas seleccionadas y sus propiedades ServiceConverter - Clase convertidora para ServiceConverter convertir entre una cadena y un caso de IService La implementación del ITextDesigner para el SimpleTextDesigner Texto y otros controles que soportan el ITextParagraprtResult Proporciona datos para los eventos UndoStackChangedEventArgs UndoStackChanged y RedoStackChanged Interfases La interfase lAddRemoveChildDesigner es lAddRemoveChildDesigner utilizada para agregar/eliminar descendientes Proporciona acceso a los métodos que permiten que se recuperen los objetos lAdomerDesigner necesanos para trazar los decoradores en el FrameworkElements El elemento intenor en el DesignActivation que puede llegar a ser un design Active Tiene el contenedor de nombre ya que se IDesingActivationContainer supone que si un elemento es DesignActive entonces es mas probable que este editando algún contenido de un descendiente Un IDesignActivationContainerParent puede alojar el IDesignActivationContamer en el IDesignActivationContainerParent ambiente de Diseño Interfase para ser implementada por IDesignSurface cualquier elemento que desea participar en la edición IMoveDesigner Interfase del movimiento del diseñador IParentUndoUnit Interfase IParentUndoUnit IScopedService IScopedService ISelection Intefase básica para modos de selección Interfase del diseñador asociada con el SelectionBehavior (SelectionRouter) Una ISelectionDesigner clase que implementa esto sena especificada en el Designer Attnbute de un tipo de elemento Este es un sujetador de lugar para un IService TypeConverter para servicios de edición Se implementa un componente de interfase para el suministro de servicio al TextEditor ITextDesigner con información y acciones especificas de la distribución lUndoService Interfase lUndoService lUndoUnit Interfase lUndoUnit Enumeraciones Adomerl nfoZOrder Señaladores del orden Z Señaladores que indican las condiciones AdomerRenderTnggers que ocasionan que se vuelvan a presentar los decoradores EditRouterChange Enumeración de acciones posibles de cambio de enrutador La TextDecorationPnonty clasifica la importancia relativa de las diferentes marcas TextDecorationPnonty de texto Este es utilizado en ejecuciones de decoración del orden z en la clase TextDecorator UndoState Enumeración para la condición del administrador para deshacer Delegados UndoStackChangedEventHandler Representa el método que manejara un evento UndoStackChanged o RedoStackChanged Espacio de Nombre de Entrada Un espacio de nombre de entrada 322 incluye un administrador de entrada que coordina las entradas recibidas por el sistema El espacio de nombre de entrada 322 incluye también clases que ayudan a administrar y proporcionar control para diferentes aparatos de entrada, tales como un teclado o un ratón El sistema de entrada permite que las aplicaciones obtengan información de los aparatos de entrada tales como los ratones, teclados, y estiletes (plumas) La mayor parte de la funcionalidad de entrada es en la forma de propiedades, métodos, y eventos en las clases de UlElement, FrameworkElement, ContentElement, y ContentFrameworkElement en el nombre de espacio System Windows El UlElement y el ContentElement tienen una funcionalidad de entrada similar, la cual es capturada por la interfase I InputElement De un modo similar, las clases FrameworkElement y ContentFrameworkElement, las cuales se derivan de las clases UlElement y ContentEIem ent, respectivamente, comparten muchas APIs de entrada y ambas implementan el I Frameworkl nputElement El sistema de entrada proporciona un soporte completo para los teclados, ratones y estiletes La funcionalidad del Teclado incluye eventos de oprimir/liberar de las teclas, administración de enfoque y notificación, la condición de acceso a las teclas actuales, y la conversión de ingresos en el teclado en eslabones de entrada La funcionalidad de Ratón incluye la posición, los clics, el movimiento, y los eventos de ingresas/salir en los limites del elemento, la captura del ratón, la flotación en un área y la rueda del ratón La funcionalidad de Estilete incluye la posición y movimiento (ambos cuando la pluma esta en contacto con la superficie y cuando esta "en el aire"), golpecitos/clics, la captura y el reconocimiento de gestión El espacio de nombre de Entrada contiene unas clases auxiliares necesarias para la funcionalidad anterior, tales como enumeraciones, argumentos de eventos, firmas de delegados, etc Adicionalmente, el espacio de nombre de Entrada, incluye el Teclado, el Ratón y el Estilete, los cuales proporcionan información relacionada con la condición actual de dichos aparatos El sistema de entrada proporciona medios para especificar los cursores del ratón en un elemento particular y para una aplicación completa El sistema de entrada esta integrado con el Text Services Framework (TSF), el cual permite que otras entradas del software entiendan el contexto textual dentro del cual esta siendo ingresado el nuevo texto Esto es utilizado mediante los editores de método de entrada (IMEs), los cuales permiten que los usuarios de Lenguaje Asiático del Este efectúan varios ingresos de teclado múltiples en un solo carácter --, el programa IME se comunica con el TSF para identificar la mejor interpretación de los ingresos en el teclado basados en el contexto y los usos del TSF para insertar el texto en el documento De un modo similar, el reconocimiento de voz utiliza el TSF para recolectar el mejor reconocimiento e insertarlo en el documento El sistema de entrada ofrece la integración automática del TSF, en la forma de un evento Textlnput El espacio de nombre de Entrada también ofrece APIs para describir el contexto del texto y controlar la conversión de la entrada inicial del teclado en una entrada textual La clase InputManager proporciona filtros y monitores, los cuales permiten que una tercera parte observe la corriente de entrada y cree nuevos eventos de entrada antes de que hayan sido encendido los eventos de entrada originales El InputManager también proporciona APIs para aparatos nuevos que van a ser conectados en el sistema de entrada, utilizando las clases llnputProvider y InputReport La tabla siguiente es una lista de elementos de ejemplo expuestos por el espacio de nombre System Windows Input Clases Un AccessKeyManager expone la funcionalidad clave de acceso, también conocida como nemónica Un ejemplo típico AccessKey anager es el botón Ok, siendo alt-0 la nemónica - oprimir alt-0 es lo mismo que hacer un che en el botón Cursor Representar al cursor del ratón para el uso CursorTypeConverter Convierte los cursores del ratón en y desde las cadenas La clase FocusChangedEventArgs contiene FocusChangedEventArgs información acerca de los cambios de enfoque InputDevice Proporciona la clase básica para todos los aparatos de entrada La clase InputEventArgs representa un tipo de RoutedEventArgs que son importantes InputEventArgs para todos los eventos de entrada La clase InputLanguageEventArgs representa un tipo de RoutedEventArgs que InputLanguageChangedEventArgs son importantes para los eventos originados para indicar un cambio en el lenguaje de entrada (humano) La clase InputLanguageEventArgs representa un tipo de RoutedEventArgs que InputLanguageChangingEventArgs son importantes para los eventos ongmados para indicar un cambio en el lenguaje de entrada (humano) La clase InputLanguageEventArgs representa un tipo de RoutedEventArgs que InputLanguageEventArgs son importantes para los eventos ongmados para indicar un cambio en el lenguaje de entrada (humano) La clase InputLanguageManager es InputLanguageManager responsable del manejo del lenguaje de entrada en el Avalon La clase InputManager es responsable de InputManager coordinar todos los sistemas de entrada en "Avalon" La clase InputMethod expone los APIs relacionados con TSF, los cuales se están InputMethod comunicando o teniendo acceso a las propiedades TIP InputMethodStateChangedEvent Esta clase Args InputMethodStateChangedEventArgs es utilizada cuando cambia su condición el editor del método de entrada (IME) El objeto el cual da ingreso al uso del InputProviderSite proveedor para reportar la entrada en el administrador de entrada El InputReport es una clase básica abstracta InputReport para todas las entradas que son reportadas al InputManager Proporciona datos para el evento que es I nputReportEventArgs onginado cuando esta siendo procesado un InputReport Keyboard La clase Keyboard expone las APIs relacionadas con el teclado La clase KeyboardDevice representa el KeyboardDevice aparato de teclado para los elementos de un contexto La clase KeyboardEventArgs proporciona el acceso a un aparato señalador lógico para KeyboardEventArgs todos los argumentos de evento derivados La clase KeyEventArgs contiene información KeyEventArgs acerca de las condiciones clave Proporciona métodos estáticos para Keylnterop convertir entre las enumeraciones VirtuaIKeys Wm32 y la Clave "Avalon" Mouse La clase Mouse expone los APIs relacionados con el ratón Los argumentos MouseButtonEventArgs MouseButtonEventArgs descnben la condición del botón del ratón La clase MouseDevice representa el aparato MouseDevice del ratón para los elementos de un contexto Proporciona datos para los eventos que son MouseDoubleClickEventArgs onginados cuando se le ha dado un doble che al ratón La clase MouseEventArgs Proporciona acceso al aparato de Ratón lógico para ouseEventArgs todos los argumentos de evento derivados Los argumentos MouseWheelEventArgs MouseWheelEventArgs describe la condición de la rueda del Ratón Proporciona información acerca de un evento de entrada que esta siendo NotifylnputEventArgs procesado por el administrador de entrada Permite que el procesador cancele el PreProcesslnputEventArgs procesamiento de un evento de entrada Proporciona acceso al área de formación de ProcesslnputEventArgs etapas del administrador de entrada La clase RawKeyboardlnputReport RawKeyboardlnputReport encapsula la entrada raíz proporcionada desde un teclado La clase RawMouselnputReport encapsula RawMouselnputReport la entrada raíz proporcionada desde un ratón Esta clase encapsula un evento de entrada mientras que esta siendo procesado por el StagingArealnputltem administrador de entrada La clase TextlnputEventArgs contiene una TextlnputEventArgs representación de texto de la entrada La clase TextManager proporciona una TextManager promoción del evento de entrada a texto Esta clase administra la mteroperacion entre un UIDispatcher y el TextServices TextServicesContext Framework, con una API del COM natural se hace posible un ingreso IME del onente asiático TextStorelnfo Esta es una clase protegida por una demanda de enlace interna Una interfase para controlar la fuente del lenguaje de entrada Una interfase implementada por todos los proveedores de entrada Una interfase para controlar el proveedor de entrada del teclado Una interfase para controlar el proveedor de entrada del ratón Enumeraciones CursorType Una enumeración del tipo de cursor soportada ImeConversion ode ImeConversionMode ImeSentenceMode ImeSentenceMode InputMethodState Condición de Ime Input ode El modo de procesamiento de entrada cuando fue proporcionada la entrada InputTy e El tipo de entrada que esta siendo reportado Key Una enumeración de todos los valores de las teclas posibles en un teclado La enumeración KeyState describe la KeyState condición en las que pueden estar las teclas de teclado La enumeración ModifierKeys descnbe un conjunto de teclas comunes utilizadas para ModifierKeys modificar otras operaciones de entrada La enumeración MouseButton describe los MouseButton botones disponibles en el aparato del ratón La enumeración MouseButtonState describe las condicones posibles de los botones MouseButtonState disponibles en el aparato de entrada del Ratón RawKeyboardActions Las acciones raíz que están siendo reportadas desde un teclado Raw ouseActions Las acciones raíz que están siendo reportadas desde el ratón SpeechMode Modo de voz Estructuras TextServicesMSG Vision administrada de la estructura MSG Win32 Delegados El delgado para que lo utilicen los FocusChangedEventHandler procesadores que reciben los FocusChangedEventArgs El delegado para que lo utilicen los InputEventHandler procesadores que reciben los InputEventArgs Es es un delegado para los eventos InputLanguageEventHandler InputLanguageChanged y InputLanguageChanging El delegado para que los procesadores InputMethodStateChangedEvent utilicen ese evento cambiado de condición Handler de de método de entrada de recepción El delegado para que los procesadores InputReportEventHandler utilicen esos argumentos de recepción PointerMoveEventArgs El delegado para que lo utilicen los KeyboardEventHandler procesadores que reciben los KeyboardEventArgs El delegado para que lo utilicen los KeyEventHandler procesadores que reciben los KeyEventArgs El delgegado para que lo utilicen los MouseButtonEventHandler procesadores que reciben los MouseButtonEventArgs El delegado para que lo utilicen los MouseDoubleClickEventHandler procesadores que reciben los MouseDoubleChckEventArgs El delegado para que lo utilicen los MouseEventHandler procesadores que reciben los MouseEventArgs El delegado para que lo utilicen los ouseWheelEventHandler procesadores que reciben los ouseWheelEventArgs Tipo de delegado para el manejo de eventos NotifylnputEventHandler que utilizan los NotifylnputEventArgs Tipo de delegado para el manejo de eventos PreProcessInputEventHandler que utilizan los PreProcessInputEventArgs Tipo de delegado para el manejo de eventos ProcessInputEventHandler que utilizan los ProcessInputEventArgs El delegado para que lo utilicen los Textl nputEventHand ler procesadores que reciben los TextlnputEventArgs Espacio de Nombre de Navegación El espacio de nombre de navegación 324 proporciona un conjunto de clases y servicios que permiten la construcción de aplicaciones con paradigmas de navegación, tales como aplicaciones del buscador Estas clases y servicios permiten el desarrollo de aplicaciones con experiencias personalizadas de navegación Por ejemplo, cuando se compra un producto o servicio de un comerciante en linea, el hacer un che en el botón "Back" ocasiona que la aplicación despliegue en pantalla una pagina diferente que le pide al usuario si quiere cancelar o cambiar su pedido En otro ejemplo, la activación del botón Refresh" ocasiona que una aplicación recupere datos nuevos en vez de volver a cargar primero la aplicación seguida por la recuperación de los datos nuevos El espacio de nombre de navegación 324 incluye también funciones de paginas que proporcionan un mecanismo para la generación de una jerarquía de preguntas que son presentadas a un usuario Las tablas siguientes enumeran elementos de ejemplo expuestos por el espacio del nombre System Windows Navigation Clases BoolWrapper Una envoltura para un valor Boolean BoolWrapperPageFunction Una función de pagina tipificada que regresa un valor Boolean a la pagina anterior BoolWrapperReturnEventArgs IntWapper Una envoltura para un valor Int32 Una función de pagina tipificada que IntWrapperPageFunction regresa un valor Int32 a la pagina antenor IntWrapperReturnEventArgs Journal Contiene una histona de navegación de la aplicación JournalEntry Representa una entrada del diano LoaderService Utilizado para ajustar el cargador actual en un appdomain determinado NavigateEventArgs Obsoleto Argumentos del evento para los eventos NavigationApplication Navigating y NavigatingCancelEventArgs NavigationWindow Navigating Argumentos de evento para el evento NavigatingNewWindow que se puede cancelar El NavigatingNewWindowCancelEventArgs especifica el NavigationContamer NavigatingNewWindowCancelEvent objetivo en donde tendrá lugar la Args navegación con el Un o el elemento pasado Por omisión, se ajusta en falso la propiedad Cancel El ajuste de Cancel a verdadero evitara que se abra una nueva ventana, y no tendrá lugar la navegación Representa una aplicación de NavigationApplication navegación "Longhorn" para el sistema Una región que se puede navegar que puede contener un árbol de marca "Avalon" Normalmente, esta clase no NavigationContainer es utilizada directamente pero puede ser utilizada como la clase de origen para una implementacion de personalización NavigationErrorCancelEventArgs Contiene los argumentos para los eventos NavigationApplication NavigationError y NavigationWindow Navigation] Error Argumentos de eventos para eventos de navegación que no se pueden NavigationEventArgs cancelar, incluyendo los eventos LoadCompleted LoadStarted Navigated y NavigationStopped Contiene los argumentos para los eventos del NavigationProgressEventArg NavigationApphcation Navigation Process y NaviqationWindow NaviqationProcess Contiene los delegados utilizados por los eventos , y una propiedad dinámica que NavigationService contiene la interfase Inavigator NavigationWindo Representa una ventana de navegación Una función de pagina escnta que ObjectPageFunction regresa un valor de objeto a la pagina antenor ObjectReturnEventArgs Esta clase no esta soportada directamente En vez de ello utiliza una de las clases escntas PageFunction BoolWrapperPageFunction, IntWrapperpageFunction, ObjectPageFunction, o StnngPageFunction El objeto del argumento del evento para el evento Retum Esta clase no esta directamente soportada En vez de ello ReturnArgs utiliza los argumentos de retorno para las clases escritas apropiadas BoolWrapperReturnEventArgs, IntWrapperReturnEventArgs, ObjectReturnEventArgas, o StringReturnEventArgs Una función de pagina escrita que StnngPageFunction regresa un valor de String a la pagina antenor StnngReturnEventArgs Representa una región que se puede WindowNavigationContainer navegar dentro de una ventana de navegación Interfases La inferíase IJournalData - debe de ser implementada por los controles que UournalData necesitan persistir en la condición del diano, y restaurarlas cuando se visita de nuevo la pagina Interfase utilizada para resolver los Un's para las comentes Puede ser utilizada para cargar el contenido de archivos, ILoader http contenedores y recursos administrados y sin administrar Implementado por los contenedores de navegación para proporcionar acceso a I Navigator las propiedades, métodos y eventos que soportan la navegación Interfase INavigatorService Esta interfase estara disponible en la NavigationWindow habilitando cualquier implementador del Inavigator para INavigatorService registrarse ellos mismos para participar en el establecimiento de objetivos de Hyperlmk Enumeraciones NavigationMode Utilizado para especificar el modo de navegación Delegados BoolWrapperReturnEventHandler IntWrapperReturnEventHandler Representa el método que maneja los eventos LoadCompletedEventHandler NavigationApplication LoadCompleted y NavigationWindow LoadCompleted Representa el método que maneja el LoadStartedEventHandler evento LoadStarted Representa el método que maneja los eventos NavigationApplication Navigated NavigatedEventHandler y NavigationWindow Navigated Representa el método que maneja los eventos NavigationApplication Navigated NavigatedEventHandler y NavigationWindow Navigated NavigateEventHandler Obsoleto Representa el método que maneja los eventos NavigatingCancelEventHandler NavigationApplicaton Navigating y NavigationWmdow Navigating NavigatingNewWindowCancelEvent Representa el método que maneja el Handler evento NavigatmgNewWindow Este delegado es utilizado con los eventos NavigationErrorCancelEventHandler NavigationApplication NavigationError y NavigationWindow NavigationError Este delegado es utilizado con los eventos NavigationWindow Navigation NavigationProgressEventHandler Progress y NavigationApplication Navigation Progress Representa el método que maneja los eventos NavigationStoppedEventHandler NavigationApplication Navigation Stopped y NaviqationWindow NavigationStopped ObjectReturnEventHandler Representa el método que maneja el evento Return Esta clase no esta soportada directamente En vez de ello RetumEventHandler se utiliza el procesador de gestión del evento de retroceso para la clase escrita apropiada BoolWrapperReturnEventHandler, IntWrapperReturnEventHandler, ObjectReturnEventHandler, o StnngReturnEventHandler StnngReturnEventHandler Espacio de Nombre de Automatización El espacio de nombre de automatización 326 contiene elementos utilizados para soportar la capacidad de acceso y la automatización de la interfase del usuario El sistema para la capacidad de acceso incluye un lado del cliente y un lado del proveedor Un sistema de herramientas incluye las herramientas de automatización del lado del cliente que incluye la clase de automatización del cliente para buscar la información de la interfase del usuario La clase de automatización del cliente incluye herramientas de registro de eventos, y herramientas de descubrimiento de elementos lógicos El conjunto de herramientas incluye ademas las herramientas de automatización del lado del proveedor para proporcionar al cliente con la información de la interfase del usuario Las herramientas de automatización del lado del proveedor incluyen una clase de una automatización de la clase del proveedor que contiene herramientas para proporcionar al cliente información de eventos Una clase de automatización del cliente proporciona métodos de automatización Ul para uno o mas clientes La clase de automatización del cliente contiene métodos que no son específicos para cualquier elemento Ul La clase de automatización del cliente puede proporcionar un método para obtener un elemento natural o lógico desde un punto, un procesador de ventana, o un elemento de raíz de computadora de escritorio La clase de automatización del cliente puede proporcionar adicionalmente métodos para encontrar criterios de entrada basados en elementos lógicos La clase de automatización del cliente incluye de preferencia, también un método para registrar y eliminar del registro notificaciones de eventos La clase de automatización de preferencia proporciona también funciones de un auxiliar para cargar poderes DLLs, recuperar los nombres localizados de las propiedades y patrones de control y realizar comparaciones de elementos La clase de automatización del cliente también incluye métodos para que los clientes escuchen los eventos Las tablas que se encuentran a continuación enumeran elementos de ejemplo expuestos por el nombre de espacio System Windows Automation Clases Expone el comportamiento y la información generalmente asociada con una ventana de aplicación de nivel superior Los clientes pueden utilizar esta clase para hacer mosaicos o ApplicationWindowPattern cascadas de descendientes de interfase de documentos múltiples de la aplicación (MDI), encontrar su botón en la barra de tareas, y localizar las secciones bien conocidas de su interfase del usuario tales como las barras de herramientas v menus Expone la semántica y los metadatos Associated I nformation Pattern para los elementos Ul que representan otros objetos Automation Contiene los métodos de Automatización de la Interfase del Usuano (Ul) para los clientes (tecnología de asistencia o escritos de prueba automatizada) Estos métodos no son específicos para un elemento particular AutomationEvent No utilizarla Esta clase sera eliminada en versiones futuras AutomationEventArgs La clase Pattem o custom event args AutomationFocusChangedEvent La clase Focus event args Arqs Clase básica para identrficadores basados en la identidad de objetos Automationldentifier Esta clase es efectivamente abstracta solamente se ejemplifican las clases denvadas Clase interna utilizada para des Automation IdentifierProxy señalizar los Automation Identifiers No debe de ser utilizada directamente No usarla Esta clase sera eliminada en AutomationPattem versiones futuras Proporciona un conjunto de permisos AutomationPermission para tener acceso a los elementos Ul Esta clase no puede ser heredada AutomationPermissionAttnbute Proporciona métodos y propiedades para Automation PermissionAttnbute Esta clase no puede ser heredada No usarla Esta clase será eliminada en AutomationProperty versiones futuras AutomationPropertyChangedEventAr La clase PropertyChanged event args gs Identificador para los Automation Text AutomationTextAttnbute Attributes Representa la posición de un carácter dentro del texto El AutomationTextPointer proporciona AutomationTextPointer métodos y propiedades para tener acceso al texto y la nevegaaon de texto Utilizarla para obtener ajustar agregar y AutomationTextRange eliminar selección Propósito el objeto AutomationTextSelecfaon maneja toda la administración de selección de textos La selección en la que está encendida el señalador de inserción es la selección AutomationTextSelection activa Usos de ejemplo es utilizada cuando los clientes quieren agregar, eliminar modificar o ajusfar la selección También los clientes pueden descubrir lo que se ha seleccionado realmente a través del AutomationTextSelec on Identificador para Automation Text Units AutomationTextUnit BasePattem Clase Interna Expone la capacidad del elemento para DockPattem cambiar su condición conectada en el tiempo de ejecución Esta excepción es descartada cuando el código del cliente intenta manipular un ElementNotEnabled Excepbon elemento o controlar lo que no está habilitado actualmente El ElementPath proporciona los cntenos necesanos para regresar postenormente al elemento lógico antenormente ElementPath grabado, modificado o totalmente creado por el proveedor de la aplicación Expone una capacidad del control para expandir para desplegar en pantalla más contenido o para colapsar un contenido oculto Los ejemplos incluyen los ExpandCollapsePattem botones de menú el botón de Inicio, la partida de visión del árbol en el Windows Explorer y los combo boxes Expone los elementos de una rejilla Permite que el cliente determine GndltemPattern rápidamente las coordenadas de una partida de rejilla Expone la funcionalidad básica de la GndPattem rejilla, el tamaño y la navegación a las celdas especificadas Expone la relación jerárquica entre los elementos de la interfase del usuario de HierarchyltemPattern los controles independientes de su relación en el árbol lógico Proporciona métodos para enviar Input entradas del ratón y el teclado Implementado por los objetos (controles que realizan una sola acción que no es ambigua La mayor parte de estos controles no mantienen la condición, invocándolos se inicia una acción en la aplicación Los ejemplos de los controles que implementan esta InvokePattern interfase incluyen los botones de contacto, los botones de la barra de herramientas, las partidas del menú, los hiperenlaces, los cuadros de verificación los botones de radio, el símbolo de mas en el control de vista del árbol y las partids de vista en el WindowsExplorer Representa un elemento Ul en el árbol lógico indepndientemente de la LogicalElement implementcion ("Avalon", Microsoft® Win®) Estructura Lógica cambiada para las LogicalStructureChangedEventArgs clases de argumentos de eventos Expone la capacidad de los elementos para cambiar entre representaciones múltiples del mismo conjunto de información, datos o descendientes Los ejemplos incluyen la Vista de Listas ultipleViewPattern Miniaturas, Mosaicos Iconos Listas, Detalles) Las gráficas de Excel (de Pastel de linea, de barras el Valor de las Celdas con una fóarmula), y un Calendario del Outlook (Año Mes, Semana, Día) La excepción que es descartada cuando el valor de un argumento está fuera del rango permisible de valores tal como lo define el GetChckablePoint Por NoClickablePointException ejemplo, cuando el rectándulo de limites está vaaón no tiene ancho o altura o el LogicalElement no es el mismo que fue invocado en ese punto Esta excepción es descartada cuando existen un problema descargando un ensamble de interfase de comunicaciones Esto puede suceder en ProxyAssemblyNotLoaded respuesta al Exception Automation ResgisterProxyAssembly o cuando se están cargando las procuraciones por omisión cuando se encuentra por primera vez la base hwnd LogicalElement Expone una capacidad de control para manejar un valor dentro de un rango RangeValuePattem finito Traslada los valores mínimos y máximos válidos del control y el valor actual Representa un elemento en el árbol de RawEIement elemento raíz Representa los elementos Ul que están ScrollPattem expresando su valor Representa las partidas individuales en los contenedores que manejan la selección Los clientes de Ul Automation utilizan esta clase para obtener información acerca de o para manipular los elementos Ul que soportan el patrón de control SelectionltemPattern SelectonltemPattem Los ejemplos incluyen cualesquiera partidas que pueden ser seleccionadas en un control que soporta el patrón de control SelecbonPattem tales como una partida en un cuadro de lista, o de una vista del árbol Representa contenedores que manejan la selección Utilizado por Ul Automation, para que los clientes SelectionPattern obtengan información acerca de, o manipulen los elementos de la intefase del usuano que soportan el patrón de control SelectionPattem Expone un orden de clasificación actual del contenedor y permite que el cliente SortPattern vuelva a clasificar programáticamente los elementos Representa ventanas que se pueden SplitPattem copiar ellas mismas creando una ventana adyacente Representa partidas de rejilla con TableltemPattern información del encabezado Representa una rejilla que tiene una TablePattem información del encabezado Representa el texto tal como un control TextPattem de edición La clase de argumentos del evento TopLevelWindowEventArgs TopLevelWindowEventArgs La clase de argumentos del evento TreeLoadEventArgs TreeLoadEventArgs Expone los valores para los controles que no extienden un rango, tales como los botones de radio, botones de ValuePattern vasculamiento, los cuadros de verificación, los cuadros de edición, los valores de color RGB y las partidas del menú que se pueden venficar Expone información acerca de una imagen o una animación que transporta información al usuano, tal como el señalizador ondulante de Internet Visual I nf ormationPattem Explorer, o un globo girando que indica un documento en descarga, o papeles volando en el Windows Explorer que indican que una copia esta en progreso Expone una capacidad del elemento para cambiar su posición o tamaño en la pantalla Los ejemplos incluyen, las ventanas de aplicación de nivel superior WindowPattem (Word o Windows Explorer), los cuadros de ventana principal del Outlook (carpetas, mensajes de correo electrónico, tareas) y las ventanas descendientes del MDI Expone el nivel de acercamiento actual en un control y permite que los clientes ZoomPattern lo cambien de manera programática Enumeraciones Contiene la señalización de acceso para AutomationPermissionFlag un objeto AutomationPermission Las diferentes maneras en que pueden ChildArrangement ser acomodados los descendientes El borde del contenedor al que se DockPosition sujetara una ventana que se puede conectar Utilizado por el patrón ExpandCollapse ExpandCollapseState para indicar una condición expandida/colapsada GetDataOptions Opciones para GetData La enumeración que indica la condición de una partida jerárquica colapsada, HierarchyltemState expandida o expandida parcialmente Enumeración que indica la condición de los controles del cuadro de venficacion, ItemCheckState botones de radio y similares Señaladores de la condición del árbol LoadState Valores que indican si un nodo del árbol LogicalMappmg principal sera desplegado en el árbol lógico Enumeración utilizada para indicar los ProxyFlags resultados de solicitar una propiedad Son los datos de esta tabla que se RowO rCo I u m n Major presentan mejor por filas o columnas Señaladores utilizados para definir la ScopeFlags delimitación cuando se escuchan los eventos Utilizada por el ScrollPattem para indicar la dirección (de avance o retroceso) y la ScrollAmount cantidad (pagina o linea) en la cual desplazarse Señaladores para el SendMouselnput Estos señaladaores indican si se realizo SendMouselnputFIags un movimiento, o si los botones fueron opnmidos o liberados Señalador para las direcciones en las SphtStyles cuales se puede dividir una ventana Señalador que indica los cambios en la StructureChangeType estructura del árbol lógico La gravedad determina la colocación de un AutomationTextPointer cuando el texto es insertado en el AutomationTextPointer La gravedad siempre es a partir del punto de vista de los señaladores de texto, por ejemplo, yo estoy antes de mi carácter o estoy TextPointerGravity después de mi carácter, cuando el usuario inserta un carácter en su localización del señalador de texto Antes significa que su señalador sera colocado antes del nuevo carácter, Después significa que el señalador sera colocado después del carácter nuevo Señaladores que indican un cambio en WindowChangeType las ventanas de nivel superior La condición actual de la ventana para W i ndowl nteractio nState la interacción del usuario Las condiciones utilizadas para describir la condición visual de la ventana WindowVisualState WindowVisualState el Office y la definición del HTML, de la WindowState Estructuras Especifica criterios para encontrar elementos utilizando el MatchCondition FindLogicalElement o el FindRawEIement Contiene el nombre, datos como un NameAndData objeto, y datos como una cadena Estructura que contiene información ProxyDescnption acerca de una interfase de comunicaciones Sortlnformation Información utilizada para clasificar Delegados Delegado para manejar AutomationEventHandler AutomationEvents AutomationFocusChangedEvent Delegado para manejar el enfoque de Handler los eventos de cambio AutomationPropertyChangedEventH Delegado para manejar los eventos de andler cambio de la AutomationProperty LogicalStructureChangedEvent Delegado para manejar los eventos de Handler cambio de la estructura lógica Implementado por los procesadores de gestión HWND, invocado por el sistema UlAutomation, para solicitar una interfase de comunicaciones para una ProxyFactoryCalIback ventana especificada Debe de regresar una interfase de comunicaciones, si esta soportada, o cancelarse si no esta soportada Delegado para manejar los eventos de TopLevelWindowEventHandler ventana del nivel supenor Las tablas q u e se encuentran a conti n u ación enum eran el em entos d e ejem plo expuestos po r el espacio de nom bre System W i ndows Autom ation I nteropP rovider Clases Contiene métodos utilizados por las aplicaciones Win32 o controles que AutomationlnteropProvider implementan la Automatización de la Interfase del Usuano (Ul) Esta clase no puede ser heredada Representa un bloque contiguo de TextPointerPair caracteres Interfases Expone el comportamiento o información generalmente asociado con lApphcationWindowInteropProvider una ventana de aplicación de nivel supenor Expone semántica y metadatos para los lAssociatedlnformationlnterop elementos Ul que representan otros Provider objetos Expone una capacidad del elemento IDocklnteropProvider para cambiar su condición de conexión en el tiempo de ejecución Expone una capacidad de control para expandir, para desplegar en pantalla mas contenido o colapsar el contenido oculto Soportado en conjunto con el patrón Hierarchyltem en las partidas TreeView para proporcionar un comportamiento similar a un árbol, pero también es importante para los controles individuales que se abren y cierran Los ejemplos de los Ul que implementan lExpandCollapselnteropProvider esto incluyen partidas -TreeView- menus inteligentes del Office que han sido colapsados -Galones en las barras de herramientas- el Combo box- Menus - "Expandos" en el cuadro de tareas del explorador del Windows Explorer (lado izquierdo en donde la vista de la carpeta es desplegada en pantalla frecuentemente) Expone la funcionalidad básica de las IGridlnteropProvider rejillas tamaño y movimiento a celdas especificadas Representa una partida que esta dentro IGndltemlnteropProvider de una rejilla, no tiene métodos, solamente propiedades Expone y permite a los clientes atravesar la relación jerárquica entre los elementos Ul independientemente de su relación en el árbol lógico Las relaciones de la jerarquía que no son I Hierarchyltem InteropProvider circulares por definición Los ejemplos de los Ul que implementan esto incluyen - partidas del TreeView - Vision Org Chart - Menus - controles de ListView cuando esta activo el modo "Mostrar en grupo" Implementado por los objetos (controles) que relacionan un sola acción que no es ambigua La mayor parte de estos controles no mantienen la condición, invocándolos se inicia una acción en la aplicación Los ejemplos de los elementos de la interfase del usuano que implementan esta interfase incluyen MnvokelnteropProvider los botones de contacto, los botones de la barra de herramientas, partidas de menú, hiperenlaces, cuadros de verificación, botones de radio, el símbolo de mas en el control de vista del árbol y las partidas de vista de lista en el Windows Explorer Expone una capacidad del elemento para cambiar entre representaciones múltiples del mismo conjunto de IMultipleViewlnteropProvider información, datos o descendientes Este patrón deberá ser implementado en el contenedor que controla la vista actual del contenido Expone un conjunto de propiedades relacionadas que reflejan una capacidad del control para manejar un valor dentro de un rango finito Transporta valores mínimos y máximos validos a los controles y su valor actual Los ejemplos Numenc Spmners Progress Bar, IP Control (en los octetos individuales) algunos Color Pickers ScrollBars, algunos Sliders de interfase IRangeValuelnteropProvider publica que representan elementos Ul que están expresando un valor actual y un rango de valor La interfase publica tiene la misma definición que el IValueProvider La diferencia de los dos patrones es que el RangeValue tiene propiedades adicionales y propiedades que generalmente no aparecen en las interfases publicas del patrón Implementado por los proveedores para exponer elementos que son parte de una estructura mas que de un nivel profundo Para estructuras simples de un solo nivel las cuales no tienen descendientes, el IRawElementProviderFragment IRawEIementProviderSimple puede ser utilizado en vez de este El nodo raíz del fragmento debe de soportar la interfase I RawEIementProviderFragmentRoot, la cual es derivada de este y tiene algunos métodos adicionales El elemento raíz en un fragmento de Ul debe de soportar esta interfase Otros I RawElementProviderFragmentRoot elementos del mismo fragmento necesitan soportar la mterfase I RawEIementProviderFragment Implementado en el elemento raíz de un IRawEIementProviderFragmentRoot fragmento Ul para permitir que sea AdviseEvents notificado o cuando se requiere onginar eventos de automatización Implementado por los proveedores los cuales quieren proporcionar información IRa EIementProviderHwndOvemde acerca de o quieren la reposición de los elementos contenidos basados en el HWND Implementado por los proveedores que quieren proporcionar información acerca I RawEIementProviderOvemdeType de o quieren la reposición de los elementos basados en los HWND contenidos Interfase del proveedor UlAutomation implementado por los proveedores que quieren exponer propiedades para un elemento simple Para exponer IRawEIementProviderSimple propiedades y estructuras para mas de un solo elemento, consultar la interfase denvada IRawEIementProviderFragment El patrón Scroll expone una capacidad de control para cambiar la porción de su región visible y que es visible para el usuario desplazando su contenido Los ejemplos Listboxes TreeViews otros contenedores que mantienen un área de contenido mayor que la región visible del control Observar que las barras de IScrollInteropProvider desplazamiento mismas no deben de soportar un patrón que se pueda desplazar, ellos soportan un patrón Range Valué Los servidores deben normalizar el desplazamiento (0 a 100) Esta interfase publica representa los elementos Ul que desplazan su contenido Proporciona acceso a las propiedades implementadas por los proveedores que ISelectionlnteropProvider no son "Longhom", en los contenedores que manejan la selección Expone un orden de clasificación actual del contenedor y permite que los clientes vuelvan a clasificar sus elementos de manera programática Algunos contenedores mantienen el orden de clasificación cuando insertan nuevas partidas o mueven su contenido ISortlnteropProvider basados en el contenido actualizado (ejemplo Win32 hstboxes clasificada) Otros contenedores solo tienen la capacidad de realizar una clasificación una vez que llega a estar fuera de fecha cuando son insertadas nuevas partidas (ejemplo Excel) Expone la capacidad para dividir un área ISphtlnteropProvider de contenido de elementos en cuadros múltiples o áreas interactivas Identifica una rejilla que tiene una ITablelnteropProvider información de encabezado Utilizado para exponer partidas de rejilla ITableltemlnteropProvider con información de encabezado El patrón Text expone una capacidad para que los controles manipulen el texto Ejemplos controles TextBox RichEdit otros contenedores que ItextlnteropProvider contienen texto y propiedades relacionadas con el texto Esta interfase representa los elementos Ul que mantienen el texto El patrón Text expone una capacidad para los controles para manipular el texto Ejemplos el TextBox RichEdit controla otros contenedores que ITextPointerlnteropProvider contienen texto y propiedades relacionadas con el texto Esta interfase representa los elementos Ul que mantienen el texto Inferíase publica que representa IValuelnteropProvider elementos Ul que están expresando un valor Utilizado para expresar información acerca de una imagen o una animación IVisualInformationlnteropProvider que está transportando información al usuano Expone una capacidad del elemento para cambiar su posición en la pantalla IWindowlnteropProvider o tamaño, asi como para cambiar la condición visual y cerrarla Expone el nivel de acercamiento actual en un control y permite que los clientes IZoomlnteropProvider lo cambien de manera programática Enumeraciones Instrucciones para la navegación del NavigateDirection árbol Ul Automation Indica si el proveedor esta actuando como un sobrecontrolador o como un awEIementProviderOverndeType proveedor del área que no es del cliente Espacio de Nombre de Señalización El espacio de nombre de señalización 328 proporciona un analizador que puede cargar o guardar una jerarquía de objetos (por ejemplo, elementos) de o a un archivo XML, o un archivo con una representación binaria Este proceso también establece propiedades asociadas con los objetos y con los procesadores de gestión de eventos asociados Ademas, el espacio de nombre de señalización 328 proporciona la funcionalidad para la señalización o la des-senalizacion de objetos La señalización es un proceso de tomar representaciones de objetos vivos en la memoria, y producir una corriente de datos adecuada para guardarla en un aparato de almacenamiento (tal como un disco), o para enviarlo por una red La des-seriahzacion es el proceso inverso, es decir, tomar una corriente de datos y producir objetos de la corriente de datos A la des-seriahzacion también nos referimos como "análisis" y el código que implementa el análisis es conocido como el analizador Tanto la señalización como la des-seriahzacion soportan formatos múltiples de formación de corrientes, tales como el formato XML al que nos referimos como XAML o un formato binario al que nos referimos como BAML Cuando el analizador es utilizado con un recopilador de marcas, si puede generar "CAML", la salida es un código para generar los objetos señalizados La señalización y des-serializacion soporta un rango completo de características a XAML, incluyendo sintaxis estándar, propiedades compuestas, sintaxis compacta compuesta, sintaxis implícita de descendientes, sintaxis explícita de descendientes, sintaxis de recolección con una etiqueta de recolección explícita, y sintaxis de recolección con etiquetas de recolección implícitas Tanto la señalización como la des-seriahzacion son completamente extensibles Las clases podrían definir la forma en que desean ser señalizadas o des-senalizadas a través de varios mecanismos, tales como • Por omisión, los nombres de las clases son tratados como nombres de etiquetas de marca, y las propiedades y eventos son tratados como atributos de marca de la misma manera Convertidores de clases de tipo definido (operando objetos auxiliares del System ComponentModel TypeConverter) para señalizar o des-seriahzar los valores de atributo de marca Las clases pueden soportar los descendientes implícitos, implementando la interfase lAddChild (análisis), o utilizando los atributos CLR para describir la forma en que se señalizan los descendientes implícitos Las clases pueden controlar si una propiedad puede ser serializada/des-senalizada utilizando la DesignerSenalizationVisibility, y controlar si es necesario señalizar una propiedad en un objeto particular utilizando los métodos DefaultValueAttnbute y ShouldPersist O, un componente puede serializarse/des-serializarse por si mismo utilizando el contenido literal, en cuyo caso la forma de los componentes señalizados no tiene que ajustarse a las reglas de XAML (los componentes necesarios para que sean un XML bien formado) Aunque los ejemplos anteriores utilizaron la palabra "marca" los mismos conceptos son aplicables al formato binario (BAML) Un segundo mecanismo de capacidad de extensión son los "ganchos del diseñador", los cuales permiten que otra pieza del código se conecte al señalizador o des-senalizador, e inserten e intercepten atributos durante el análisis y la señalización Este mecanismo permite que sean creadas nuevas características de marca, y permite el diseño personalizado de la sintaxis existente El recopilador de marca utiliza los ganchos del diseñador para generar el CA L La señalización y des-serializacion soportan una variedad de objetos (cualquier clase que opera desde el System Object) Las clases que operan desde el System Windows DependencyObject pueden definir propiedades de dependencias, las cuales obtienen dos características extras • La señalización puede decirnos automáticamente si una propiedad necesita ser señalizada (y no necesita DefaultValueAttribute/ShouldPersist) • El analizador puede realizar ciertas optimizaciones para hacer la carga mas rápida La señalización y des-senalizacion soportan los espacios de nombre X L y los archivos de definición que elaboran el mapa de los espacios de nombre XML para los espacios de nombre CRL La clase del elaborador de mapas permite la definición de elaboraciones de mapas arbitrarias a partir de los espacios de nombre XML, y etiqueta los nombres en las clases CLR Las siguientes tablas enumeran elementos de ejemplo expuestos por el espacio de nombre System Windows Serialization Clases La clase básica para el auxialiar de des- serializacion Esta debe de ser subclasificada si el diseño o la dirección CustomXamlDesenalizer de des-senahzacion del tiempo de edición del analizador es requerido La clase básica para el auxiliar de des- senalizacion Debe de ser subclasificada CustomXamlSenahzer si es requendo el diseño o la dirección de señalización de tiempo de edición del señalizador XamlSenahzer es responsable de poner un caso de esta clase en la pila de DependencyPropertyContext contextQ gntes de sena||zar propiedad alguna en un objeto Especifica la visibilidad de esta DPSerializationVisibihtyAttnbute propiedad o método como es vista por el señalizador del diseñador Clase básica abstracta para el Object EntityContext Context y el PropertyContext Atributo para especificar el LayoutType LayoutAttnbute para una etiqueta Maneja la elaboración de mapas entre el espacio de nombre Extensible Markup Mapper Language (XML), el Uniform Resource Identifier (URI) y los tipos de espacio de nombre Microsoft® NET Contiene información del elaborador de mapas y utiliza para elaborar mapas entre los espacios de nombre xm1 NamespaceMap NamespaceUn, y lo que es el Ensamble, urtNamespace para consultarlo Información de contexto acerca del objeto actual que esta siendo señalizado El I XamlSenahzer es ObjectContext responsable de poner un caso de esta clase en la pila de contexto en el SenalizeObject La clase "Avalon" Element Parsing Parser utilizada para crear un Arbol "Avalon" Proporciona toda la información de ParserContext contexto requerida por el analizador Información de contexto acerca de la propiedad actual que esta siendo señalizada El XamlSenahzer es PropertyContext responsable de poner un caso de esta clase en la pila de contexto antes de señalizar propiedad alguna en un objeto Información de contexto acerca del objeto actual que esta siendo señalizado El XamlSenahzer es TextContext responsable de poner un caso de esta clase en la pila de contexto en el SenalizeObject XamlAttnbuteNode XamlAttnbuteNode XamlClrArrayPropertyNode XamlClrArrayPropertyNode El XamlClrComplexPropertyNode, el XamlClrComplexPropertyNode cual es un objeto especificado como el descendiente de un objeto Clr El XamlClrEventNode, el cual es un evento Clr en cualquier objeto XamlClrEventNode Observar que este puede estar en un DependencyObject, o cualquier otro tipo de objeto El XamlClrObjectNode, el cual es nada XamlClrObjectNode diferente al DependencyObject El XamlClrPropertyNode, el cual es una propiedad Clr en cualquier objeto XamlClrPropertyNode Observar que este puede estar en un DependencyObject, o cualquier otro tipo de objeto Clase de excepción para las XamlClrPropertyParseException excepciones especificas de análisis de la propiedad del analizador El XamIComplexDependencyPropertyNode XamlComplexDependencyPropertyN el cual es una DependencyProperty ode especificada como el descendiente xm1 de un DependencyObject El XamlComplexPropertySeriahzer es utilizado para señalizar las propiedades que no pueden ser señalizadas como XamlComplexPropertySenalizer atributos XML En vez de ellas, son señalizadas las ComplexProperties como marcas dentro del elemento XamIDefAttnbuteNode XamlDefAttnbuteNode XamlDefTagNode XamlDefTagNode Extiende el XamlSenalizer para incluir XamlDependencyObjectSenalize animaciones (especificas para los Elementos) El XamlDependencyPropertyNode, el cual es una DependencyProperty XamlDependencyPropertyNode normal, simple en un DependencyObject Clase de excepción para las XamlDependencyPropertyParse excepciones especificas de análisis de Exception la propiedad dinámica del analizador Especifica el nombre escrito del XamlDesignerSenalizerAttnbute señalizador para una clase determinada XamlDocumentNode XamlDocumentNode El XamlElementNode, el cual representa un DependencyObject Estos son diferentes de los objetos CLR ya que XamlElementNode pueden tener DependencyProperties asociadas con ellos XamlEndAttnbutesNode XamlEndAttnbutesNode XamlEndClrArrayPropertyNode XamlEndClrArrayPropertyNode XamlEndClrComplexPropertyNode XamlEndClrComplexPropertyNode XamlEndClrObjectNode XamlEndClrObjectNode XamlEndComplexDependency XamIEndComplexDependencyPropertyN PropertyNode ode XamlEndDocumentNode XamlEndDocumentNode XamlEndElementNode XamlEndElementNode XamlEndlDictionaryPropertyNode XamlEndlDictionaryPropertyNode XamlEndlListPropertyNode XamlEndlListPropertyNode XamlEnd esourceNode XamlEndResourceNode XamlEndStartElementNode XamlEndStartElementNode XamlDictionaryPropertyNode XamlDictionaryPropertyNode Señaliza la colección de nodos XamlEnumeratorSenahzer señalados por la propiedad XamllListPropertyNode XamllListPropertyNode Señaliza la I List señalada por la XamllListSenahzer propiedad XamIIncludeTagNode Xam I IncludeTagNode Xam I LanguageNode XamILanguageNode Xam I LiteralContentNode XamILiteralContentNode Nodo básico del cual se denvan todos XamINode los demás Clase de excepción para las Xa m I ParseException excepciones especificas del analizador El XamlMappmgNode el cual elabora los mapas de un nombre de espacio xml y XamIMappingNode los ensambla en un nombre de espacio clr XamIResourceNode Xa m I ResourceNode El XamISenalizer es utilizado para que XamlRootSeriahzer persista el árbol lógico Xam I RoutedEventNode Xam I RoutedEventNode Clase de excepción para el recordatorio XamISenalizationCalIback de señalización de excepciones Exception especificas El XamlSenalizer es utilizado para que XamlSenalizer persista el árbol lógico Clase básica para que el XamlSenalizer XamlSenahzerBase proporcione funciones de auxiliar común XamITextNode XamITextNode Sobrecontrola el XamlSenalizer para los XamlTextNodeSenahzer TextNodes de casos especiales XamlXmlnsPropertyNode XamlXmlnsPropertyNode Una clase para encapsular los atributos XmIAttnbutes específicos de XML de un DependencyObject Un diccionario para controlar la XmlnsDictionary elaboración de mapas del espacio de nombre XML Xm 1 Pa rse rDef au Its Clase publica utilizada por Avalon Interfases La mterfase lAddChild es utilizada para anexar objetos que permiten que los objetos o los textos debajo de sus lAddChild etiquetas en la marca no elaboren directamente el mapa para una propiedad Interfase de señalización para las IBamlSenalize Propiedades Dinámicas escritas por los archivos BAML Esta interfase proporciona una propiedad Boolean solo de lectura denominada IsLoaded, un procesador lloaded de gestión de eventos clr denominado métodos Loaded, y DeferLoad y EndDeferLoad Proporciona métodos utilizados IPageConnector internamente por el BamIReader en el contexto recopilado Para Contenido Literal-contenido el cual IParseLiteralContent tiene su propio analizador y almacenador La interfase lUnContext que les permite a los elementos (similares a Frame, PageViewer), los convertidores de tipos (similares a ImageData TypeConverters), un modo para lUriContext asegurar que el un básico esta ajustado en ellos por el analizador, el codegen para xaml, y los casos baml y caml Los elementos pueden entonces utilizar este un básico para navegar Enumeraciones Layout Types que pueden ser asociados LayoutType con un objeto Describe la acción del señalizador o des- senahzador que se toma después de un SenahzationAction recordatorio a los auxiliares CustomXamLSerializer o CustomXam I Desenalizer Describe la acción que van a tomar el SenahzationErrorAction señalizador o o el des-serializador cuando ha sido reportado un error XamINodeType Identificador para el XamINodeType Espacio de Nom b re I nterop E l espa cio d e nom bre I nterop 330 pro porciona un conjunto de clase que hace posible la interoperabilidad con otros sistemas operativos o plataformas de computo Las tablas siguientes enumeran los elementos de ejemplo expuestos por el espacio de nombre System Windows Interop Clases La envoltura MarshalByRefObject sobre la clase de Aplicación que permite la iteración con el objeto de Aplicación en los AppDomains y para permitir la ApplicationProxy creación de la Aplicación en una sene de artículos de programación diferentes La clase Iterop utilizada para implementar la parte administrada de un DocobjHost Servidor Docobj para el alojamiento del buscador PresentationlnteropHelper VisualInteropHelper Implementa las clases Avalon, WindowInteropHelper, la cual ayuda al WindowInteropHelper Interop b/w legacy y la Ventana Avalon Delegados AppEntryPoint Delegado para el método de punto de entrada de los códigos de Aplicación Espacio de Nombre Forms Interop El espacio de nombre forms interop 332 proporciona un elemento que permite que una aplicación aloje una operación de control de forma Espacio de Nombre Svstem IO CompoundFile Otro espacio de nombre, el System 10 CompoundFile (no mostrado en la figura 3), proporciona servicios para utilizar un archivo compuesto en el cual son almacenados varios archivos de documentos que se pueden distribuir Estos servicios permiten la encriptacion y compresión del contenido Estos servicios también soportan el almacenamiento de nuevas ediciones múltiples del mismo contenido tales como un documento que puede volver a fluir, y un documento de formato fijo Las siguientes tablas enumeran los elementos de ejemplo expuestos por el espacio de nombre System 10 CompoundFile Clases CertificateHelper Auxiliar para obtener un certificado digital para firma Componente de referencia de subcornente que se refiere a un rango CompoundFileByteRangeReference de bytes dentro de una comente de archivo compuesto Componente de referencia de subcornente que se refiere a una CompoundFilelndexReference entrada lógica dentro de una comente de archivo compuesto CompoundFileReference Una referencia a una porción de un archivo compuesto CompoundFileReferenceCollection Una colección solo de lectura de las referencias del archivo compuesto CompoundFileStorageReference Referencia lógica a un almacenamiento de contenedor CompoundFileStreamReference Referencia lógica a una comente del contenedor CompressionTransform CompressionTransform para utilizarlo en Compound File DataSpaces Esta clase hace posible que los usuanos obtengan acceso al StorageRoot del contenedor actual basados en el caso ContainerHelper de Aplicación cargada Utilizado para manipular los espacios de datos dentro de un caso especifico de un contenedor "Avalon" Esta es la forma en que los datos de transformación son conectados en el DataSpaceManager contenedor para hacer posible características similares a la compresión de datos y encnptación de datos Clase sólo de lectura que hace posible que los clientes revisen y validen las DigitalSignature firmas digitales existentes Una colección sólo de lectura de firmas digitales DigrtalSignatureCollection Esta clase es utilizada para crear, persistir y manipular las firmas digitales Dígita ISignatureManager en un archivo compuesto Contiene elementos de propiedad correspondientes a las propiedades en el conjunto de propiedad estándar de DocumentSummarylnfo información de resumen de archivo OLE FormatVersion Clase para manipular la versión de objetos La excepción que es descartada cuando el formato del Drm InstanceDataFormatException TransformlnstanceData en el disco es inválido OleProperty PropSet Clase para manipular la información de una versión Esta clase también proporciona APIs para agregar y Renditionlnfo eliminar almacenamientos y comentes en y desde la versión RenditionlnfoCollection Una colección fuertemente tipificada de los objetos Renditionlnfo RenditionManager Calse para manipular las versiones en un Contenedor Clase que implementa la interfase IDataTRansform, de modo que pueda ser utilizada como la transformación de Rights anagementEncryptionTransform datos del contenedor que implementa la encnptacion y desencnptacion R del contenido Clase para manipular los almacenamientos en el archivo del Storagelnfo contenedor Representa la clase del contenedor pnncipal Existe un caso del StorageRoot StorageRoot para un archivo compuesto Streamlnfo Proporciona acceso para manipular las comentes en el archivo del contenedor Summarylnfo OleProperty PropSet Clase para manipular la información de una versión Esta clase también proporciona APIs para agregar y Renditionlnfo eliminar almacenamientos y comentes en y desde la versión Rend ition I nfoCo I lection Una colección fuertemente tipificada los objetos Renditionlnfo Rendition Manager Calse para manipular las versiones en un Contenedor Clase que implementa la interfase IDataTRansform de modo que pueda ser utilizada como la transformación de RightsManagementEncryptionTransform datos del contenedor que implementa la encnptacion y desencnptacion RM del contenido Clase para manipular los almacenamientos en el arch Storagelnfo contenedor Representa la clase del contenedor pnncipal Existe un caso del StorageRoot StorageRoot para un archivo compuesto Streamlnfo Proporciona acceso para manipular las comentes en el archivo del contenedor Summarylnfo Un caso de esta clase es proporcionado a cada transformación de objeto como un medio para transformar un objeto para mteractuar con el ambiente proporcionado por el administrador del espacio de datos No es obligatorio que un transformador de objetos mantenga TransformEnvironment una referencia sobre un objeto TransformEnvironment determinado ya que podría seleccionar descartarlo si no existe necesidad para mteractuar con el ambiente de transformación Clase publica para pasar argumentos en los procesadores de gestión de eventos TransformlnitializationEventArgs Contiene información que describe el uso de la licencia regresada de un Useücenselnfo servidor Tungsten Representa un enumerador sobre el uso de licencias almacenadas en los datos UseücenselnfoEnumerator del caso DRM Transform Clase para una versión de registro la cual consiste de numeras mayores y VersionTuple menores Procesador de firmas utilizado por el administrador digital de firmas para XmlDigitalSignatureProcessor firmar y validar datos de acuerdo con la recomendación W3C Interfases Interfase para ser implementada por todos los objetos de transformación de IDataTransform datos Esta interfase es utilizada para desacoplar el R Transform y el RMWizard mediante una implementacion de personalización de ILicenseStorage construcción de esta interfase nosotros habilitamos a 3ras partes para aprovechar el R Wizard sin forzarlos a utilizar el RMTransform ISignatureProcessor Interfase del procesador de firma Esta interfase es utilizada para manejar de manera opaca cualquier interfase COM (envuelta en una Envoltura COM lUnknownRCW de Tiempo de Ejecución) como un lUnknown Enumeraciones DigitalSignatureProcessor Procesadores Predefinidos de Firma Digital SignatureProcessorNameType Tipo de Procesador de firma Cuando se nombra un objeto de transformación, la cadena que esta siendo pasada puede ser interpretada Transform IdentifierTypes en una de diferentes maneras Este tipo enumerado es utilizado para especificar la semántica de la cadena de identificación Delegados InvahdSignatureHandler Invocado cuando las firmas fallaron la venficacion de control Transform InitializeEventHandler Método en el delegado para inicializar las transformaciones Espacio de Nombre System Windows Automation Un espacio de nombre System Windows Automation contiene elementos utilizados para soportar la capacidad de acceso y la automatización de la interfase del usuario El sistema de capacidad de exceso incluye un lado del cliente y un lado del proveedor Un sistema de herramientas incluye herramientas de automatización del lado del cliente incluyendo la clase de automatización del cliente para buscar la información de la mterfase del usuario La clase de automatización del cliente incluye herramientas de registro de eventos y herramientas de descubrimiento de elementos lógicos El conjunto de herramientas incluye ademas las herramientas de automatización del lado del proveedor para proporcionar al cliente la información de la interfase del usuario Las herramientas de automatización del lado del proveedor incluyen una clase de automatización del proveedor que tiene herramientas para proporcionar al cliente la información de eventos La clase de automatización del cliente proporciona métodos de automatización Ul para uno o mas clientes La clase de automatización del cliente contiene métodos que no son específicos para cualquier elemento Ul La clase de automatización del cliente puede proporcionar un método para obtener un elemento natural o lógico desde un punto, un procesador de gestión de ventana, o el elemento raíz de la computadora de escritorio La clase de automatización del cliente puede proporcionar ademas métodos para encontrar un elemento lógico basados en los criterios de entrada Las clases de automatización del cliente de preferencia incluyen un método para registrar y eliminar del registro notificaciones de eventos La clase de automatización de preferencia proporciona funciones de un auxiliar para cargar DLLs de procuración, recuperar los nombres localizados de propiedades y patrones de control y realizar comparaciones de elementos La clase de automatización del cliente incluye también métodos para que los clientes escuchen los eventos Las tablas sig u ientes en u m era n el em entos d e ej em pl o expuestos por el espacio del n om bre Clases System Wi ndows Autom ation Expone el comportamiento y la información generalmente asociada con una ventana de aplicación de nivel supenor Los clientes pueden utilizar esta clase para hacer mosaicos o cascadas de descendientes de interfase ApplicationWindowPattern de documentos múltiples de la aplicación (MDI), encontrar su botón en la barra de tareas, y localizar las secciones bien conocidas de su interfase del usuario tales como las barras de herramientas y menus Expone la semántica y los metadatos para los elementos Ul que representan Associated InformationPattern otros objetos Contiene los métodos de Automatización de la Interfase del Usuario (Ul) para los clientes (tecnología de asistencia o escritos de prueba Automation automatizada) Estos métodos no son específicos para un elemento particular AutomationEvent No utilizarlo Esta clase sera eliminada en versiones futuras AutomationEventArgs La clase pattern o custom event args AutomationFocusChangedEventArgs La clase focus event args Clase básica para identificadores basados en la identidad de objetos Esta clase es efectivamente abstracta, Automation Identifier solamente se ejemplifican las clases denvadas Clase interna utilizada para des- senahzar los Automation Identifiers No AutomationldentifierProxy debe ser utilizada directamente AutomationPattern No usarla Esta clase sera eliminada en versiones futuras Proporciona un conjunto de permisos para tener acceso a los elementos Ul AutomationPermission Esta clase no puede ser heredada Proporciona métodos y propiedades para AutomationPermissionAttnbute AutomationPermissionAttribute Esta clase no puede ser heredada AutomationProperty No usarla Esta clase sera eliminada en versiones futuras AutomationPropertyChangedEx La clase PropertyChanged event args AutomationTextAttnbute Identificador para los Automation Text Attnbutes Representa la posición de un carácter dentro del texto El AutomationTextPointer proporciona AutomationTextPomter métodos y propiedades para tener acceso al texto y la navegación de texto AutomationTextRange Utilizarla para obtener, ajustar, agregar y eliminar selección Proposito El objeto AutomationTextSelection maneja toda la administración de selección de textos La selección en la que esta encendida el señalador de inserción es la selección activa Usos de ejemplo Es utilizada AutomationTextSelection cuando los clientes quieren agregar, eliminar, modificar o ajustar la selección También los clientes pueden descubnr lo que se ha seleccionado realmente a través del AutomationTextSelection AutomationTextUnit Identificador para Automation Text Units BasePattern Clase Interna Expone la capacidad del elemento para cambiar su condición conectada en el DockPattern tiempo de ejecución Esta excepción es descartada cuando el código del cliente intenta manipular un ElementNotEnabledException elemento o controlar lo que actualmente no esta habilitado El ElementPath proporciona cntenos necesarios para regresar posteriormente al elemento lógico anteriormente ElementPath grabado, modificado o totalmente creado por el proveedor de la aplicación Expone una capacidad de los controles para expandir para desplegar en pantalla mas contenido o para colapsar el contenido oculto Los ejemplos ExpandCollapsePattern incuyen botones de menú, el botón de Inicio, la partida de vista del árbol en el Windows Explorer y los combo boxes Expone los elementos de una rejilla Permite que el cliente determine GndltemPattern rápidamente las coordenadas de una partida de rejilla Expone la funcionalidad básica de la rejilla, el tamaño y la navegación a las GndPattern celdas especificadas Expone la relación jerárquica entre los elementos de la interfase del usuano de HierarchyltemPattern los controles independientes de su relación en el árbol lógico Input Proporciona métodos para enviar entradas del ratón y el teclado Implementado por los objetos (controles) que realizan una sola acción que no es ambigua La mayor parte de estos controles no mantienen la condición, invocándolos se inicia una acción en la aplicación Los ejemplos de los controles que implementan esta InvokePattern mterfase incluyen los botones de contacto, los botones de la barra de herramientas, las partidas del menú, los hiperenlaces, los cuadros de venficacion, los botones de radio, el símbolo de mas en el control de vista del árbol, y las partidas de vista de lista en el Windows Explorer Representa un elemento Ul en el árbol lógico independientemente de la LogicalElement implementacion ("Avalon", MicrosoftR Win32R) LogicalStructureChangedEventArgs Estructura lógica cambiada para las clases de eventos args Expone la capacidad de los elementos para cambiar entre representaciones múltiples del mismo conjunto de información, datos, o descendientes Los ejemplos incluyen la Vista de Listas, MultipleViewPattern Miniaturas, Mosaicos, Iconos, Listas, Detalles) Las gráficas de Excel (de Pastel, de Linea, de Barras, el Valor de las Celdas, con una formula), y un Calendario de Outlook (Año, Mes, Semana, Día) La excepción que es descartada cuando el valor de un argumento esta fuera del rango permisible de valores, tal y como lo define el GetClickablePoint Por ejemplo, cuando el rectángulo de limites NoClickablePointException esta vacio, no tiene ancho o alto o el LogicalElement, que en ese punto no es el mismo que fue invocado Esta excepción es descartada cuando existe un problema para cargar un ensamble de mterfases de comunicaciones Esto puede suceder en respuesta a ProxyAssemblyMotLoadedException Automation RegisterProxyAssembly o cuando se cargan mterfases de comunicación por omisión con la primera base hwnd que es encontrado el elemento LogicalElement Expone una capacidad de control para manejar un valor dentro de un rango finito Translada los valores mínimos y RangeValuePattern máximos validos del control y el valor actual RawElement Representa un elemento en el árbol de elemento natural ScrollPattern Representa los elementos Ul que están expresando un valor Representa las partidas individuales en los contenedores que manejan la selección La clase Ul Automation esta clase es utilizada por los clientes para obtener información acerca de o para manipular los elementos Ul que soportan el patrón de control SelectionltemPattern SelectionltemPattern Los ejemplos incluyen cualesquiera partidas que pueden ser seleccionadas en un control que soporta el patrón de control SelectionPattern tales como una partida en un cuadro de lista, o de una vista del árbol Representa contenedores que manejan la selección Utilizado por Ul Automation, para que los clientes obtengan información acerca de, o SelectionPattern manipulen los elementos de la interfase del usuario que soportan el patrón de control SelectionPattern Expone un orden de clasificcion actual del contenedor y permite que el cliente SortPattern vuelva a clasificar programáticamente los elementos Representa ventanas que se pueden copiar ellas mismas creando una SplitPattem ventana adyacente TableltemPattern Representa partidas de rejilla con información del encabezado TablePattern Representa una rejilla que tiene una información del encabezado TextPattem Representa el texto tal como un control de edición TopLevelWindowEventArgs La clase de argumentos del evento TopLevelWindowEventArgs TreeLoadEventArgs La clase de argumentos del evento TreeLoadEventArgs Expone los valores para los controles que no extienden un rango tales como los botones de radio botones de vasculamiento los cuadros de ValuePattern verificación los cuadros de edición los valores de color RGB y las partidas del menú que se pueden venficar Expone información acerca de una imagen o una animación que transporta información al usuano tal como el señalizador ondulante de Internet Explorer o un globo girando que indica Visual I nf ormationPattem un documento en descarga o papeles volando en el Windows Explorer que indican que una copia está en progreso Expone una capacidad del elemento para cambiar su posición o tamaño en la pantalla Los ejemplos incluyen las ventanas de aplicación de nivel supenor (Word o Windows Explorer) los cuadros WindowPattern de ventana pnncipal de Outlook (carpetas mensajes de correo electrónico tareas) y las ventanas descendientes del MDI Expone el nivel de acercamiento actual en un control y permite que los clientes ZoomPattem lo cambien de manera programática Enumeraciones AutomationPermissionFlag Contiene la señalización de acceso para un objeto AutomationPermission ChildArrangement Las diferentes maneras en que pueden ser acomodados los descendientes La orilla del contenedor al que se sujetara una ventana que se puede DockPosition conectar Utilizado por el patrón ExpandCollapse para indicar una condición ExpandCollapseState expandida/colapsada GetDataOptions Opciones para GetData La enumeración que indica la condición de una partida jerárquica colapsada, HierarchyltemState expandida o expandida parcialmente Enumeración que indica la condición de los controles del cuadro de verificación, ItemCheckState botones de radio y similares LoadState Tres señalizaciones de condición Valores que indican si un nodo del árbol pnncipal sera desplegado en el árbol LogicalMappmg lógico ProxyFlags Enum utilizado para indicar los resultados de solicitar una propiedad RowOrColumnMajor Son los datos de esta tabla que se presentan mejor por filas o columnas Señalizaciones utilizadas para definir la delimitación cuando se escuchan los ScopeFlags eventos Utilizado por el ScrollPattern para indicar la dirección (delantera o trasera) y la ScrollAmount cantidad (pagina o linea) por la cual desplazarse Señalización para SendMouselnput Estas señalizaciones indican si tuvo Send ouselnputFlags lugar el movimiento, o si los botones fueron oprimidos o liberados Señalización para las direcciones en las cuales se puede dividir una ventana SplitStyles Stru ctu reCh a n geTy pe Señalización que indica los cambios en la estructura del árbol lógico La gravedad determina la colocación de un AutomationTextPointer cuando el texto es insertado en el AutomationTextPointer La gravedad siempre es a partir del punto de vista de los señaladores de texto, por ejemplo, Yo estoy antes de mi carácter o Estoy después de mi carácter Cuando el TextPointerGravity usuario inserta un carácter en su localización del señalador de texto, Antes significa que su señalador sera colocado antes del nuevo carácter, Después significa que el señalador sera colocado Después del carácter nuevo WindowChangeType Señalización que indica un cambio en las ventanas de nivel superior WindowInteractionState La condición actual de la ventana para la interacción del usuario Las condiciones utilizadas para describir la condición visual de la ventana WindowVisualState WindowVisualState el Office y la definición del HTML, del WindowState Estructuras Especifica criterios para encontrar elementos que utilizan MatchCondition FindLogicalElement o FindRawEIement NameAndData Contiene el nombre, datos como un objeto, y datos como una cadena Estructura que contiene información acerca de una interfase de ProxyDescription comunicaciones Sortlnformation Información utilizada para clasificar Delegados AutomationEventHandler Delegado para manejar AutomationEvents AutomationFocusChangedEventHandler Delegado para manejar el enfoque de los eventos de cambio AutomationPropertyChangedEvent Delegado para manejar los eventos de Handler cambio AutomationProperty LogicalStructureChangedEventHandler Delegado para manejar los eventos de cambio de la estructura lógica Implementado por los procesadores de gestión HWND, invocado por el sistema Ul Automation, para solicitar una interfase de comunicaciones para una ProxyFactoryCalIback ventana especificada Debe de regresar una interfase de comunicaciones, si esta soportada, o cancelarse si no esta soportada TopLevelWindowEventHandler Delegado para manejar los eventos de ventana del nivel superior Espacio de Nombre System Windows I n k Un espacio de nombre System Windows Ink proporciona clases que soportan los sistemas de procesamiento de tinta electrónica Las técnicas del procesamiento de tinta electrónica son útiles para una variedad de aplicaciones de software Estas técnicas de procesamiento de tinta electrónica son particularmente aplicables al análisis de la tinta electrónica, incluyendo el análisis de la distribución, clasificación, y reconocimiento de la tinta electrónica Ciertas técnicas de procesamiento de tinta electrónica permiten que la tinta electrónica sea procesada de una manera asincrona con respecto a la operación del software que implementa las técnicas, de modo que la tinta electrónica puede ser procesada sin detener o demorar de manera importante la operación de la aplicación del software La aplicación del software aun puede continuar para aceptar una nueva entrada de tinta electrónica mientras que la entrada de tinta electrónica anterior esta siendo procesada Una interfase de programación de aplicación ejemplifica un objeto de analizador de tinta que recibe datos de un documento para un contenido de tinta electrónica que contiene el documento de una aplicación del software que aloja el documento, y opera en una primera serie de artículos en programación del procesamiento El objeto del analizador de tinta emplea posteriormente la primera serie de artículos en programación para hacer una copia de los datos del documento, proporciona la copia de los datos del documento a un proceso de análisis de tinta electrónica, y regresa el control de la primera serie de artículos en programación de procesamiento al proceso de análisis Después de que el proceso de análisis ha analizado la tinta electrónica, el objeto analizador de tinta concilla los resultados del proceso de análisis con los datos del documento actuales del documento En modalidades particulares, los elementos en un archivo o documento pueden ser descritos basados en una posición espacial en relación entre ellos Por ejemplo, tanto un golpe de tinta electrónica, como un texto tecleado, pueden ser descritos en términos de la misma coordenada espacial Utilizando la información espacial para describir los elementos de un documento, la aplicación del software que administra al documento puede mantener una estructura de datos que describe la relación entre sus elementos del documento En particular, la aplicación del software puede mantener una estructura de datos que describe la clase de los diferentes elementos del documento y también define las asociaciones entre los diferentes elementos del documento Estas asociaciones pueden ser definidas, por ejemplo, como información utilizada para enlazar los datos de golpe de tinta electrónica o recolecciones de los mismos a otros elementos en el documento electrónico (tales como palabras, lineas, párrafos, dibujos, celdas de tablas, etc ) Al describir los elementos de documento en un archivo o estructura de datos del documento basados en una posición espacial, los elementos del documento para una variedad de tipos de archivo pueden emplear técnicas comunes para identificar y manipular sus elementos del documento Mas particularmente, una variedad de aplicaciones del software puede describir los elementos del documento dentro de un documento basados en una posición espacial y emplear esta posición espacial haciendo referencia al uso de los métodos comunes de análisis de tinta electrónica Todavía adicionalmente, al especificar una región particular de un documento para el análisis, cada aplicación del software puede limitar el proceso de análisis a solamente los elementos deseados dentro del documento Con el fin de analizar la nueva entrada de tinta electrónica en un documento, la aplicación de software que administra el documento modifica una estructura de datos asociada con el documento para incluir la nueva tinta que va a ser analizada Entonces la aplicación del software proporciona esta estructura de datos (o las porciones importantes de la misma) a una herramienta de análisis de tinta, la cual copia algo o toda la estructura de datos para el análisis (y opera en esta copia de los datos que es independiente de la estructura de datos del documento del programa de aplicación) La herramienta de análisis de tinta pasa la copia a un proceso de análisis tal como un proceso de análisis (por ejemplo, el proceso de análisis de distribución y/o un proceso de clasi icación La aplicación del software puede volver a asumir su operación normal incluyendo la recepción de un nuevo ingreso de tinta electrónica y/u otros datos, mientras que el proceso de análisis de tinta esta siendo realizado Ademas de recibir una nueva tinta electrónica, se pueden recibir cualesquiera Otros datos a través del programa de aplicación, por ejemplo los datos que modifican un tamaño, localización o contenido de la tinta existente, texto, imágenes, gráficos, tablas, gráficas de flujo, diagramas y similares, datos que agregan texto adicional, imágenes, gráficos, tablas, gráficas de flujo, diagramas y similares, borrar datos existentes en el texto, imágenes, gráficos, tablas, gráficas de flujo, diagramas, y similares Después de que se han concretado todos los procesos de análisis deseados, los resultados del análisis son regresados a la herramienta de análisis de tinta La herramienta de análisis de tinta realiza una variedad de funciones para facilitar el procesamiento de la tinta electrónica La herramienta de análisis de tinta puede ser implementada como una interfase de programación, tal como un API Ademas, la herramienta de análisis de tinta puede ser implementada como un grupo de rutinas de objetos del software, e información relacionada que puede ser invocada por una aplicación del software según sea necesario para analizar la tinta en un documento En una modalidad, un API que incorpora una implementacion de una herramienta de análisis de tinta (al que nos referimos en lo sucesivo como un API de Análisis de Tinta), puede contener dos clases centrales La primera clase es a la que nos referimos como una clase de "Contexto de Análisis", y la segunda clase es la clase del "Analizador de Tinta" Los componentes de la clase de "Contexto de Análisis" son utilizados para crear un objeto de contexto de análisis Los componentes de la clase del "Analizador de Tinta" entonces es utilizado para crear y emplear un objeto que proporciona un documento independiente del objeto de contexto de análisis a un proceso de análisis, determinar cuando han sido generados los resultados del análisis, y conciliar los resultados del análisis con la condición actual de un documento La clase de Contexto de Análisis es implementada por una aplicación central para crear un objeto de contexto de análisis, el cual sirve como una visión de procuración en el árbol interno del documento de la aplicación del software Este objeto de contexto de análisis contiene todos los datos de tinta sin analizar, y el objeto de contexto de análisis es utilizado para identificar cuales datos de tinta sin analizar deberán ser analizados El objeto de contexto de análisis contiene también información acerca de la tinta previamente analizada La tinta previamente analizada puede ser utilizada para determinar como debe de ser analizada la tinta que actualmente no se ha analizado, y por si misma, ser modificada en el curso del análisis de la tinta sin analizar Ademas, el objeto de contenido del análisis contiene información acerca del contenido que no es de tinta del documento, el cual es utilizado para clasificar de manera correcta la tinta, en la forma de anotaciones al contenido que no tiene tinta La clase de contexto de análisis incluye un constructor, el cual, cuando es invocado por la aplicación del software, crea el objeto de contexto de análisis Esta clase puede también incluir varias propiedades para el objeto de contexto de análisis, incluyendo la propiedad titulada "Dirty Región {get } " La propiedad Dirty Región define la porción del documento (y por lo tanto la porción del objeto del contexto de análisis) que contiene los datos de tinta sin analizar La clase de Contexto de Análisis también puede incluir una propiedad titulada "Rootnode {get,}", la cual identifica el nodo de contexto raíz o el más alto en el objeto de contexto de análisis El nodo de contexto raíz contiene, como nodos de contexto descendientes, todos los otros objetos de nodos de contexto para un objeto de contexto de análisis determinado En modalidades particulares, el nodo de contexto raíz debe de ser del nodo de contexto tipo "Root" En las modalidades en donde la aplicación implementa su propio objeto de contexto de análisis, el objeto de contexto de análisis puede tener otros nodos de contexto tales como hermanos del nodo de contexto de raíz, pero los componentes de la clase del Analizador de Tinta pueden ser limitados para considerar los nodos de contexto contenidos por el nodo de contexto raíz La clase de Contexto de Análisis puede incluir adicionalmente la propiedad "Análisis Hints {get,}", la cual, regresa una adaptación de los objetos ocultos del análisis establecida por la aplicación del software Como se explicara con mayor detalle mas adelante, los objetos de ocultamiento de análisis pueden contener cualquier tipo de información que pueda ayudar al proceso de análisis Esta información puede incluir, por ejemplo, información no comprobada, guias, o una lista de palabras También puede incluir información que establece un lenguaje para ser utilizado para el análisis, información que designa la tinta sin analizar como un texto escrito en forma manual solamente, o un dibujo solamente, o proporcionar cualquier clase de guia al proceso de análisis, tal como la identificación de la tinta en la forma de listas, tablas, formas, gráficas de flujo, conectores, contenedores y similares Ademas de estas propiedades, la Clase de Análisis Context también puede incluir vanos métodos que pueden ser invocados, por ejemplo, por medio de la aplicación del software para hacer que un objeto de contexto de análisis ejecute una tarea Por ejemplo, la clase de Contexto de Análisis puede incluir un método titulado "FindNode (Guide id) " Cada nodo del objeto del contexto de análisis tiene un identif icador globalmente único (o GUID), y este método localizara el nodo especificado en la invocación en cualquier parte del objeto del contexto de análisis Igual que la clase de Contexto de Análisis, la clase del analizador de tinta define también un constructor publico que permite que la aplicación del software cree una instancia de clase (por ejemplo, un objeto de analizador de tinta), junto con varias propiedades Por ejemplo, puede contener una propiedad titulada "User Interface Context {get, set,}", la cual define la serie de artículos en programación de procesamiento a las cuales son regresados los resultados del proceso de análisis Esta propiedad permite que los resultados sean sincronizados con otro objeto Por ejemplo, si esto es ajustado a la forma principal, los resultados del analizador del analizador sera detonados en una serie de artículos en programación principal de la aplicación También puede contener la propiedad "AnalysisOptions AnalysisOptions {get, set,}", la cual especifica vanos criterios que pueden ser utilizados para el proceso de análisis Estos criterios pueden incluir, por ejemplo, habilitar el reconocimiento del texto, habilitar el uso de tablas, habilitar el uso de listas, habilitar el uso de anotaciones, y habilitar el uso de conectores y contenedores La clase de Analizador de Tinta incluirá varios métodos Por ejemplo, esta clase puede incluir un método titulado AnalysisRegion Analyze () Este método inicia un proceso de análisis sincrónico Los datos de elemento del documento son pasados dentro de este método, el cual describe la condición actual del documento, e indica que tinta del documento necesita ser analizada Con algunas modalidades, los datos del elemento del documento pueden ser proporcionados como un objeto de contexto de análisis (por ejemplo AnalysisRegion Analyze (Contexto de Análisis)), como se indico anteriormente Alternativamente, los golpes de tinta individuales pueden ser pasados al proceso de análisis, ya sea utilizando una referencia a los golpes (por ejemplo, AnalysisRegion Analyze (Golpes)) o ser indicados como una propiedad del objeto del Analizador de Tinta (por ejemplo, InkAnalyzer Strokes {get.set}) sin pasar propiedades al método para analizar Una vez que se ha terminado el proceso de análisis, este método regresara una referencia al documento independientemente del contexto de análisis que ha sido modificado para que contenga los resultados del proceso de análisis El método también regresa un valor AnalysisRegion que describe el área del documento en donde han sido calculados los resultados La clase del Analizador de Tinta también puede incluir un método titulado "AnalysisRegion Analyze( AnalysisContext, waitRegion) ' Este método es el mismo que el método Analysis Región Analyze () sincrónico descrito anteriormente, pero solamente tiene tinta analizada si son necesarios los resultados en el área waitRegion especificada Mas particularmente, se solicita que este método identifique el objeto del contexto de análisis del documento y la región del objeto del contexto de análisis (al que nos referimos como la "waitRegion") para lo cual, deberá analizar de manera sincrónica el proceso de análisis En ciertas modalidades, todas las otras regiones del objeto del contexto de análisis serán ignoradas, a menos que el proceso de análisis necesite analizar el contenido de esas regiones con el objeto de completar su análisis de la región waitRegion Como se explico anteriormente, el objeto del contexto de análisis pasado con este método contiene una propiedad denominada "DirtyRegion ' la cual describe las áreas del documento que necesitan análisis Al especificar una región waitRegion en particular, la aplicación del software puede obtener los resultados del análisis mas rápidamente para una región de ínteres especifica, en vez de tener todos los datos de la tinta analizada en el documento analizado Cuando se invoca cualquiera de estos métodos de Análisis, se ejecutara cualquier proceso de análisis disponible También debido a que este método de análisis invoca de manera sincrónica, no existe la necesidad de ejecutar el proceso de conciliación en sus conclusiones, ni se detonara un evento una vez que se haya terminado La clase del Analizador de Tinta también puede incluir un método titulado "BackgroundAnalyzer(AnalysisContext) " Este método inicia en la operación de análisis especificada, pero lo hace en una serie de artículos en programación de análisis de soporte separada Por lo tanto, este método regresara a controlar casi inmediatamente la serie de artículos en programación de procesamiento principal, mientras que la operación de análisis real se termina en el fondo En particular, este método regresara a un valor de "cierto" si el proceso del análisis fue iniciado exitosamente Nuevamente, el valor de AnalysisContext pasado al método identifica el objeto de contexto de análisis para el documento e indica cual es la tinta del documento que tiene que ser analizada Una vez que se ha completado la operación de análisis en la serie de artículos en programación del fondo, se origina un evento de Resultados para permitir que la aplicación del software tenga acceso a los resultados El evento contiene los resultados, y el método de conciliación el cual es utilizado para incorporar de nuevo los resultados en el objeto del contexto de análisis para la condición actual del documento cuando son regresados los resultados Cada uno de estos tres métodos de Análisis, invocan a la vez el método Clon' en una clase de 'Analysis Región Utilizando el método Clon' estos métodos de Análisis crean un objeto de contexto de análisis del documento independiente que es modificado posteriormente por el proceso de análisis para mostrar los resultados del análisis La clase del Analizador de Tinta también puede incluir un método titulado "Reconcile(AnalysisContext actual, AnalysisResultsEventArgs resultArgs) , el cual invoca la aplicación el software después de recibir los eventos de resultados que fueron ocasionados por la invocación del método BackgroundAnalyze(AnalysisContext) El método de conciliación compara los resultados del análisis contenidos en el objeto de contexto de análisis del documento independiente, con la versión actual del objeto del contexto de análisis mantenida por la aplicación del software Este método identifica los nodos que necesitan ser agregados y eliminados de la versión actual del objeto de contexto de análisis e identifica si cualquiera de las siguientes propiedades del nodo existente han cambiado sus resultados de reconocimiento, su localización, los golpes de tinta asociados con el nodo, o cualesquiera otros datos asociados con los resultados de la operación de análisis Este método también escribe estos cambios identificados a la versión actual del objeto de contexto de análisis Este método es sensible al ordenamiento del ordenamiento del nodo de contexto de modo que tales como el orden de los nodos de contexto de palabra en el nodo de contexto de linea Los resultados del análisis (es decir, el valor de la propiedad AnalysisResultsEventArgs) se vuelven a pasar dentro de este método, ya que ellos contienen una estructura publica de resultados y una estructura privada de resultados La estructura publica es regresada de modo que la aplicación del software pueda tener una vista previa de los cambios que ocurrirán en la etapa de conciliación La estructura privada se incluye para evitar que la aplicación del software cambie cualquiera de los resultados del análisis antes del proceso de conciliación La clase del Analizador de Tinta también puede incluir los métodos titulados RecognizersRecognizersPriontyO" y "SetHighestPriorityRecognizer(recogmzer) " Cuando necesita ser reconocida la tinta, se utilizara el reconocedor apropiado basado en el lenguaje y las capacidades Por consiguiente, el método Recognizers RecognizersPriority( ) regresa el proceso de reconocimiento con el objeto en el orden en el cual fueron evaluados por el objeto Analizador de Tinta El orden es determinado por el sistema dependiendo de los procesos de reconocimiento disponibles, pero puede ser sobre controlado por la aplicación del software, evocando el SetHighestPriorityRecognizer(reconocedor) en el objeto Analizador de Tinta El Analizador de tinta procederá a la enumeración a través de esta lista ordenada hasta que un reconocedor apropiado pueda ser encontrado El método SetHighestPriorityRecognizer(reconocedor) establece la prioridad de un proceso de reconocimiento Al establecer la prioridad de un proceso de reconocimiento en particular, se utilizara el proceso de reconocimiento si coincide con el lenguaje y las capacidades necesarias de la operación de reconocimiento actual En esencia, el SetHighestPnontyRecognizer(reconocedor) impulsa al reconocimiento de si el proceso de reconocimiento designado a la parte superior de la lista regresada por el método La clase del Analizador de Tinta también puede contener un método titulado "AnalysisRegion Abort()", el cual puede utilizar un objeto de contexto de análisis como un parámetro Este método permite una operación de análisis del fondo o el frente para que se determine de manera temprana Este método regresa a una región de análisis que describe el área que esta siendo analizada antes del aborto Por lo tanto, si la aplicación del software pretende continuar la operación de análisis en un momento posterior, esta región puede ser fusionada en la región DirtyRegion del objeto del contexto de análisis de la condición actual del documento Todavía adicionalmente, la clase del analizador de tinta puede incluir un evento titulado AnalysisResultsEventHandler', el cual activa un objeto InkAnalyzer tan frecuentemente como sea practico Mas particularmente, este evento puede activarse entre los procesos de análisis, y por lo menos una vez cada cinco segundos Este evento puede ser utilizado para proporcionarle a la aplicación una actualización en lo que respecta a la condición del proceso de análisis asincrono en marcha (o proceso) La API del Ink Analysis también puede incluir clases ademas de la clase de Contexto de Análisis, y la clase el Analizador de Tinta Por ejemplo, el Ink Analysis API puede incluir la clase de Context Node Esta clase puede incluir vanos componentes relacionados con los nodos de contexto que forman el objeto de contexto de análisis, y el objeto de contexto de análisis del documento independiente tal como la propiedad titulada 'ContextNodeType Type {get,} " Cada nodo de contexto tiene un tipo, y existe un conjunto de reglas especificas a las que se debe de adherir cada uno de los tipos Estas incluyen reglas tales como los tipos de nodos de contexto de descendientes que son permitidos, o si pueden estar o no directamente asociados los golpes en el nodo de contexto o solamente por medio de sus nodos de contexto descendientes Los tipos posibles de nodos de contexto pueden ser definidos en una enumeración ContextNodeTypes y pueden incluir, por ejemplo, los siguientes tipos un nodo I nkAnnotation , el cual representa los datos de tinta que anotan los datos que no son de texto, un nodo InkDrawing el cual representa los datos de tinta que forman un dibujo, un nodo InkWord, el cual representa los datos de tinta que forman una palabra, un nodo de Linea, el cual contiene uno o mas nodos InkWord y/o TextWord para que formen palabras en una linea de texto, el nodo Listltem, el cual puede contener nodos de Párrafo, Imagen o similares que se esperan en una lista, un nodo de Lista, el cual contiene uno o mas nodos Listltem que describe cada uno una entrada en la lista Los tipos de nodos también pueden incluir un nodo NonlnkDrawing, que representa la imagen de dibujo que no tiene tinta, un nodo de objeto, que representa los datos no cubiertos por otros valores de la enumeración ContextNodeType, un nodo de Párrafo el cual contiene uno o mas nodos de Linea correspondientes a las lineas que forman un párrafo, un nodo de Foto o Imagen, que representa una imagen de foto, un nodo raíz el cual sirve como el nodo superior en un objeto de contexto de análisis, un nodo de Tabla, el cual contiene los nodos que representan las partidas que forman una tabla, un nodo TextBox que representa un cuadro de texto, un nodo TextWord, y un nodo Unclassifiedlnk, que corresponde a datos de tinta que todavía no han sido clasificados Los tipos de nodo también pueden incluir un nodo de grupo, para grupos de otros nodos, un nodo InkBullet para partidas de viñetas, un nodo de Filas para elementos del documento presentados en una filas de una tabla, un nodo de Celda para elementos del documento presentado en una celda de una tabla La clase Context Node también puede incluir la propiedad titulada "GUID Id {get,}", la cual es un identif icador globalmente único para el nodo de contexto actual Con el objeto de permitir el acceso a cualquier nodo de contexto deseado, cada nodo de contexto dentro de un solo objeto de contexto de análisis deberá tener un identificador único Esta clase también puede incluir un propiedad titulada "AnalysisRegion Location {get,}', la cual identifica la localización en el espacio de documento en donde esta realmente colocado el nodo de contexto importante Una AnalysisRegion es una estructura bi-dimensional que agrupa posiblemente uno o mas rectángulos de desunión similares a estructuras juntas Esta clase también puede incluir la propiedad titulada "StrokeCollection Strokes {get,}," la cual identifica los trazos de tinta asociados con el nodo de contexto relevante En algunas modalidades particulares, solo los nodos de contexto de hoja (tales como Palabra, Dibujo o Nodos de Viñetas) son permitidos por el Ink Analysis API para que tengan trazos La aplicación del software puede utilizar esta propiedad para hacer referencia a los trazos en el nivel de nodo de hoja a través de todos los nodos de contexto ancestros (por ejemplo, el nodo raíz contendría una referencia a trazos para todos los trazos en el objeto de contexto de análisis relevantes) Ademas, esta clase puede incluir la propiedad titulada "ContextNodeParentNode {get,}", lo cual identifica el nodo de contexto de origen que contiene el nodo de contexto relevante En modalidades particulares, los nodos de contexto siempre son creados dependientes de un nodo de contexto de origen, siendo el nodo de contexto raíz un elemento estático de un objeto de contexto de análisis Esta clase también puede incluir la propiedad "ContextNode[] SubNodes {get,}" la cual identifica todos los nodos de contexto que son descendientes directos del nodo de contexto relevante Es decir, esta propiedad solamente identificará aquellos nodos de contexto descendientes que estén debajo de un nivel en el objeto de contexto de análisis Por ejemplo, el valor de esta propiedad para un nodo de contexto de párrafo solamente identificará los nodos de contexto de linea contenidos por el nodo de párrafo, y no los nodos de contexto de palabra que son descendientes del nodo de contexto de linea Esta clase también puede incluir la propiedad titulada "RecognitionResult RecognitionResult {get }", la cual proporciona los resultados del reconocimiento según fueron calculados por el proceso o procesos de análisis de reconocimiento relevante, ya que el RecognitionResult puede representar mas de una linea de texto desde mas de un lenguaje El Recognition Result esta disponible en cada nodo de contexto en el objeto de contexto de análisis independiente del documento, aunque la propiedad RecognitionData la cual es establecida por el proceso de análisis de reconocimiento y es utilizada para crear el objeto RecognitionResult podría solamente ser establecida en un nivel del árbol del nodo de contexto para evitar la duplicación de datos Si el nodo no tiene un RecognitionData asociado con el mismo, ya sea unirá los resultados de reconocimiento de todos sus subnodos o extraerá los resultados de reconocimiento de su origen Esta clase también puede incluir la propiedad titulada "Stream RecognitionData {get, set,}", la cual es la forma persistente del valor RecognitionResult Nuevamente, el proceso de análisis de reconocimiento produce el valor Stream RecognitionData que es establecido en el nodo de contexto relevante El objeto RecognitionResult se construye posteriormente con base en este valor La clase Context Node puede incluir ademas una propiedad titulada "ContextLink[] Links {get,}", la cual proporciona una matriz de objetos ContextLink El objeto ContextLink describe una relación alternativa entre dos nodos de contexto Aunque los nodos de contexto generalmente tienen una relación de origen-descendiente con otros nodos de contexto, un ContextLink permite una relación alternativa entre los nodos de contexto Por ejemplo, un ContextLink puede permitir la conexión entre dos nodos de contexto, sujetando un nodo de contexto a otro, siendo la contención de un nodo de contexto por otro nodo de contexto, o un tipo deseado de enlace definido por la aplicación del software Se pueden agregar ContextLmks a esta matriz invocando el método AddLink De un modo similar, los ContextLmks pueden ser removidos de esta matriz invocando el método DeleteLink Todavía adicionalmente, esta clase puede incluir las propiedades "IsContainer {get,}" y "IsInkLeaf {get,}" La propiedad IsContainer {get,}, tiene el valor de cierto" si el nodo de contexto relevante no es un nodo de contexto de hoja (es decir, si el nodo de contexto relevante contiene nodos de contexto descendientes y por lo tanto es considerado como un nodo de contexto contenedor), y de lo contrario, tiene el valor de 'falso" La propiedad IsInkLeaf {get,} tiene el valor de "cierto" si el nodo de contexto actual no es un nodo de contexto de contenedor y de lo contrario tiene el valor de "falso" Es decir, si el nodo de contexto actual no contiene nodos de contexto descendientes algunos, es considerado un nodo de contexto de hoja En ciertas modalidades, se espera que el nodo de contexto InkLeaf contenga referencias a los datos de trazos, mientras que los nodos de contexto de contenedor no tienen esta restricción Los nodos de contexto de contenedor pueden o no tener referencia a datos de trazos, según sea designado por la aplicación del software La clase Context Node también puede contener la propiedad "RectRotatedBoundingBox {get, set,}' El valor de esta propiedad es calculado por un proceso de análisis de distribución y clasificación Si los datos de tinta asociados con el nodo de contexto relevante son escritos en un ángulo, entonces los limites del nodo de contexto todavía serán alineados horizontalmente Sin embargo, el valor de la propiedad RotatedBoundingBox, sera alineado al ángulo en el cual fueron escritos los datos de tinta asociados con el nodo de contexto relevante Todavía adicionalmente, esta clase puede incluir la propiedad "ReClassifiable {get }", la cual informa al InkAnalyzer si se permite modificar los valores del nodo de contexto relevante Ademas de estas propiedades, la clase de Context Node también puede incluir varios métodos Por ejemplo, esta clase puede incluir un método titulado "ContextNode CreateSubNode(ContextNodeType type)" Este método permite la creación de nodos de contexto descendientes de un tipo particular En una modalidad, este método puede permitir solamente tipos de descendientes validos del nodo de contexto relevante para ser creados, evitando de este modo que sean creadas estructuras de datos mal formadas Por ejemplo, este método solamente puede permitir un nodo de contexto de Linea para crear los nodos de contexto descendientes InkWord y TextWord Esta clase también puede contener un método titulado "void DeleteSubNode(ContextNode node)", el cual borra el nodo de contexto descendiente al que se hace referencia desde el objeto de contexto de análisis relevante Sin embargo, en ciertas modalidades, si el nodo de contexto al que se ha hecho referencia, todavía contiene trazos, o nodos de contexto descendientes, entonces fallara este método También, si el nodo de contexto de referencia no es un descendiente directo del nodo de contexto relevante, entonces este método fallara Si una aplicación de software implementa su propio objeto de contexto de análisis y a la vez emplea este método, no borra los nodos de contexto que no están vacíos, o los nodos de contexto que no son descendientes directos del nodo de contexto relevante para evitar estructuras de datos mal formadas en el objeto de contexto de análisis Adicionalmente, esta clase puede incluir el método "ContextNodef] HitTestSubNodes(AnalysisRegion región) , el cual regresa a una matriz de nodo de contacto que están localizadas en la región especificada Sin embargo solamente los nodos descendientes inmediatos de este elemento son regresados, no todos los descendientes La región es definida por el objeto AnalysisRegion, el cual puede ser una colección de uno o mas rectángulos En modalidades particulares, si cualquier parte de una localización del nodo de contexto se cruza con la región especificada, entonces el nodo de contexto sera regresado en la matriz Este método es empleado, por ejemplo, para crear el objeto de contexto de análisis de documento independiente y conciliar los resultados del análisis con el objeto de contexto del análisis correspondiente a la condición actual del documento Por lo tanto, este método es invocado frecuentemente, y debe ser optimizado para un acceso repetido rápido por el objeto InkAnalyzer La clase Context Node también puede contener un método titulado "MoveStroke(Stroke stroke, Contextnode destination) ' Este método mueve la asociación de un trazo de un nodo de contexto de hoja a otro En ciertas modalidades, este método es utilizado solamente entre nodos de contexto de hoja También puede incluir un método titulado "MoveSubNodeToPosition(int Oldlndex, int Newlndex)", el cual reordena el nodo de contexto relevante con respecto a sus nodos de contexto hermanos Por ejemplo, si el documento tiene tres palabras en una linea, es decir, la palabra 1, palabra 2, y palabra 3, entonces su orden es implicado por la matriz de subnodos regresada al nodo de contexto de origen Este método permite que sea cambiado su orden de modo que, en relación con el nodo de contexto de origen relevante, la palabra 1 es especificada como la ultima palabra en la linea, moviendo el nodo de contexto para la palabra 1 de la posición 1 a la posición tres Todavía adicionalmente, esta clase puede incluir el método titulado Addl_ink(Contextl_ink hnk) , el cual agrega un nuevo objeto ContextLink al nodo de contexto actual En las modalidades preferidas, el objeto ContextLink debe contener una referencia al nodo de contexto relevante con el objeto de que el ContextLink sea agregado exitosamente a la matriz de ContextLinks asociados con el nodo de contexto relevante También puede contener el método titulado "Deletel_ink(ContextLink hnk)" Este método borra o elimina el objeto ContextLink especificado de la matriz de ContextLinks para el nodo de contexto relevante En esta modalidad, las invocaciones de este método casi siempre se completan exitosamente, aun si no existe el ContextLink en la matriz de los ContextLinks asociados con el nodo de contexto relevante La API del Ink Analysis también puede incluir una clase Analysis Hint Igual que con muchas de las clases anteriormente descritas, la clase Analysis Hint puede incluir un constructor, titulado AnalysisHintQ", el cual iniciahza un objeto Analysis Hint para una condición vacia Esta clase también puede incluir un numero de propiedades, incluyendo una propiedad titulada "AnalysisRegion Location {get,} Esta propiedad especifica la localización en el documento (como una AnalysisRegion) a la cual es aplicable el AnalysisHint Por ejemplo, si el documento es una nota en forma de árbol con una sección de titulo en la parte superior de la pagina, entonces la aplicación podría ajustar un AnalysisHint para la región del titulo para especificar que se espera una linea horizontal de tinta en esa región Este Analysis Hint ayudara a aumentar la exactitud de un proceso de análisis Esta clase también puede incluir una propiedad titulada "string Factoid {get, set,}", la cual especifica una "información no confirmada' particular que va a ser utilizada para la localización en el documento en la cual es aplicable el AnalysisHint Las informaciones no comprobadas proporcionan sugerencias para un proceso de reconocimiento con respecto al uso esperado de datos de tinta (por ejemplo como texto regular, dígitos, códigos postales, nombres de archivos y URLs de la web) Esta clase también puede incluir las propiedades tituladas RecognizerGuide Guide {get, set,} y 'OverrideLanguageld {get, set,}' La propiedad RecognizerGuide Guide {get, set,} especifica la guia de escritura que va a ser aplicada a la localización en el documento a la cual es aplicable el AnalysisHint Las guias de escritura pueden, por ejemplo, ayudar a mejorar la exactitud del proceso del análisis del reconocedor especificando al usuario e informando al proceso de análisis del reconocedor en donde escribirá el usuario lineas o caracteres La propiedad OverrideLanguageld {get, set, } especifica un Language Hint para el documento al cual es aplicable el AnalysisHint El ajuste del Language Hint ocasiona que el objeto InkAnalyzer utilice el lenguaje designado en vez del lenguaje especificado en el nodo de contexto Esta clase puede incluir también una propiedad titulada "PrefixText {get, set }", la cual especifica el texto que es escrito o mecanografiado antes de una linea de tinta que va a ser reconocida Todavía adicionalmente, esta clase puede incluir una propiedad titulada "Recognizer odes Recognition Flags {get, set,}', la cual especifica el tipo particular de modo que debe respetar un proceso de reconocimiento en la localización del documento a la cual es aplicable el AnalysisHint Adicionalmente, esta clase puede incluir una propiedad titulada"SuffixText {get, set }", la cual especifica el texto que esta escrito o mecanografiado después de una linea de tinta que va a ser reconocida, y una propiedad titulada 'SuffixText {get, set,} , la cual especifica un conjunto de palabras particular que debe de ser utilizado por un proceso de análisis de reconocimiento Se pueden utilizar listas de palabras cuando se espera que los resultados del reconocimiento sean conocidos antes de que el usuario haya escrito realmente los datos de entrada, tales como una lista de términos médicos que se espera que sean escritos dentro de una forma medica Todavía adicionalmente, esta clase puede incluir una propiedad titulada "WordMode {get, set} Si este valor es "cierto , entonces el proceso del análisis se inclinara por si mismo a regresar una sola palabra para la región de análisis completa También puede incluir una propiedad titulada "Coerce {get, set} , la cual si es "cierta" forzara al proceso de análisis a confinar su resultado a cualquier valor de información no comprobada o lista de palabras establecida en el relevant hint Esta clase también puede incluir una propiedad titulada "AllowPartialDictionaryTerms {get, set}" Si este valor de propiedad es 'cierto', entonces se permitirá que el proceso de análisis de reconocimiento regrese palabras parciales de su diccionario de reconocimiento En modalidades particulares, el Ink Analysis API puede incluir ademas una clase Analysis Región Esta clase puede incluir, por ejemplo, constructores múltiples para construir un objeto Por ejemplo puede contener un primer constructor para construir un objeto AnalysisRegion que tiene cualquier región, un segundo constructor para construir un objeto AnalysisRegion basado en los parámetros para un rectángulo bi-dimensional , y un tercer constructor para construir un objeto AnalysisRegion basado en cuatro coordenadas espaciales El constructor por omisión (default) puede, por ejemplo, crear una región vacia Esta clase puede incluir también un numero de propiedades Por ejemplo, esta clase puede incluir una propiedad titulada Rectangle Bounds {get,}", la cual recupera los rectángulos del limite para la AnalysisRegion, una propiedad titulada "IsEmpty {get,}", la cual indica si el objeto AnalysisRegion relevante tiene un interior vacio y una propiedad titulada Islnfinite {get,}", la cual indica si la AnalysisRegion relevante es ajustada para ser infinita o no Esta clase también puede incluir un numero de métodos, tales como un método titulado AnalysisRegion Clone()' , el cual copia el objeto importante AnalysisRegion Esta clase también puede incluir un método titulado "Equals(AnalysisRegion otherRegion)", el cual prueba si el objeto AnalysisRegion especificado (al que nos referimos como el otherRegion) es idéntico al objeto relevante AnalysisRegion Este método regresa un valor de "cierto", si el interior del objeto Analysis Región especificado es idéntico al interior del objeto Analysis Región relevante, y de otro modo regresa a un valor de "falso" Esta clase puede incluir ademas un método "lntersect(AnalysisRegion regionTolntersect)", el cual recorta el objeto AnalysisRegion relevante para la región de análisis especificada Por lo tanto, el objeto AnalysisRegion resultante solamente incluirá las áreas que se traslaparon o cruzaron en la región de análisis especificada Esta clase también puede incluir el método titulado "lntersect(Rectangle rectangle)", el cual corta el objeto AnalysisRegion relevante para el rectángulo especificado Nuevamente, el objeto AnalysisRegion resultante solamente incluirá las áreas que se traslaparon o cruzaron el rectángulo especificado También puede incluir el método titulado "MakeEmptyQ", el cual inicializa el objeto AnalysisRegion relevante a un interior vacio, y el método titulado "Makelnf inite()", el cual establece el área ocupada por la AnalysisRegion relevante que va a ser infinita Puede incluir ademas varios métodos para unir o separar áreas definidas de manera diferente, tales como el método titulado Union( AnalysisRegion regionToUmon)", el cual especifica un objeto AnalysisRegion para unir o agregarlo al objeto AnalysisRegion relevante y el método titulado "Union(Rectangle rectangle)", el cual une un rectángulo especificado al objeto AnalysisRegion relevante Con este método, el rectángulo puede ser especificado en términos del espacio de las coordenadas para el objeto AnalysisRegion relevante Por supuesto, esta clase puede incluir numerosos otros métodos para combinar áreas o extraer un área de la otra, basado en cualquier definición deseada para las áreas La API del Ink Analysis también puede tener una clase Recognition Result Igual que con muchas de las clases explicadas anteriormente, la clase Recognition Result puede incluir uno o mas constructores Por ejemplo, esta clase puede incluir un constructor titulado "RecognitionResult(Stream lattice)', el cual construye un objeto Recognition Results de una cuadricula de reconocimiento determinada En modalidades particulares, una cuadricula de reconocimiento es una forma señalizada de los resultados de un proceso de reconocimiento Por ejemplo, este método puede especificar una cuadricula de reconocimiento como una matriz de byte para ser utilizada para la construcción del objeto RecognitionResult relevante También puede incluir un constructor titulado "RecognitionResult(ContextNode node)", el cual construye un objeto RecognitionResults, de un nodo de contexto determinado También puede incluir un constructor titulado "RecognitionResult(stnng Text, int StrokeCount) , el cual construye un objeto Recognition Results de un valor de texto especificado, el cual a su vez esta asociado con un numero especificado de trazos y podría ser utilizado para la corrección si el proceso de reconocimiento no llega con un valor de reconocimiento alterno correspondiente a los datos de tinta reales escritos a mano Todavía adicionalmente, esta clase puede incluir un constructor titulado "RecognitionResult(RecognitionResult leftRecognitionResult, RecognitionResult rightRecognitionResult)", el cual construye un objeto RecognitionResults uniendo dos objetos Recognition Results La clase Recognition Result puede incluir también una o mas propiedades, tales como una propiedad titulada StrokeCollection StrokeCollection {get,} , la cual proporciona una matriz de indicaciones de trazos que representa una colección de trazos que están contenidos en un solo objeto de tinta, y una propiedad titulada RecognitionAlternate TopAlternate {get,}", la cual proporciona la mejor alternativa de los resultados de reconocimiento Esta clase puede incluir la propiedad titulada RecognitionConfidence RecognitionConfidence {get,}", la cual proporciona el nivel de confianza (por ejemplo, fuerte, intermedia o deficiente) de la sección superior alternativa para los resultados actuales de un proceso de análisis de reconocimiento y una propiedad titulada "stnng TopStrmg {get,}', la cual regresa la mejor cadena de resultados de los resultados del análisis de un proceso de análisis de reconocimiento La clase Recognition Results también puede incluir un numero de métodos, tales como un método titulado "public RecognitionAlternateCollection GetAlternateCollectionFromSelection (selectionStart, selectionLenght, maximumAlternates)", el cual especifica una colección de alternativas de una selección dentro de la cadena de mejores resultados de los resultados del análisis de un proceso de análisis de reconocimiento, en donde cada alternativa corresponde solamente a un segmento de tinta Los parámetros de entrada para este método pueden incluir, por ejemplo, un valor el cual especifica el inicio de la selección de texto desde la cual es regresada la colección de alternativas, un valor que especifica la longitud de la selección de texto desde la cual es regresada la colección de alternativas, y un valor que especifica el numero máximo de alternativas para regresar Este método puede entonces regresar la colección RecognitionAlternateCollection de las alternativas de una selección dentro de la cadena de mejores resultados del resultado de reconocimiento La clase Recognition Results puede incluir ademas un método titulado Recognition Result erge(RecognitionResult left, string separator, RecognitionResult right)" Este método puede ser utilizado para crear un nuevo objeto Recognition Result de una sola cadena, dando como resultado una cuadricula plana, la cual esta unida a una sola cadena al inicio o final de un objeto RecognitionResult existente, o concatenar una sola cadena entre dos objetos RecognitionResult existentes Esta clase puede incluir también un método titulado "ModifyTopAlternate(RecognitionAlternate altérnate) , el cual especifica el resultado de reconocimiento que va a ser modificado con una alternativa conocida Con algunas modalidades por omisión, la mejor cadena de resultados de los resultados de un proceso de análisis de reconocimiento corresponde a la alternativa superior Sin embargo, este método puede ser utilizado para especificar cuales alternativas que no sean la alternativa superior, son utilizadas en los resultados del proceso de análisis de reconocimiento Si resulta la alternativa superior nueva en una segmentación diferente que la anterior, el método ModifyTopAltenate actualizara automáticamente los nodos de contexto para reflejar los cambios Para recuperar las alternativas que pueden ser utilizadas para modificar el resultado de reconocimiento, este método invoca el método GetAlternatesFrom Selection Esta clase también puede tener un método titulado Stream SaveQ", el cual mantiene persistentemente el objeto RecognitionResults relevante en la forma de una cuadricula de reconocimiento Una cuadricula de reconocimiento es un formato señalizado utilizado para expresar los resultados de un proceso de reconocimiento La API del Ink Analysis también puede tener un tipo de enumeración Analysis Options Este tipo puede contener uno o mas campos que especifican la forma en que los datos de tinta serán analizados por un proceso de análisis, tal como el campo titulado "const AnalysisOptions Default", el cual hace posible todas las opciones disponibles para el proceso de análisis Por ejemplo, este campo puede hacer posible el reconocimiento de texto, el uso de tablas, el uso de listas, el uso de anotaciones, el uso de conectores y contenedores y el uso de resultados intermedios Este tipo también puede incluir un campo titulado "const AnalysisOptions EnableAnnotations", el cual habilita y deshabihta la detección de anotaciones, un campo titulado "const AnalysisOptions EnableConnectorsAndContainers", el cual habilita y deshabihta la detección de conectores y contenedores y un campo titulado "const AnalysisOptions Enablel ntermediateResults", el cual habilita y deshabihta el regreso de los resultados de análisis a la aplicación de software entre el uso de procesos de análisis diferentes, secuenciales (por ejemplo, entre un proceso de análisis y un proceso de reconocimiento posterior) Este tipo puede también tener un campo titulado "const AnalysisOptions EnableLists", el cual habilita y deshabihta la detección de listas, y un campo titulado "const AnalysisOptions EnableTables' , el cual habilita y deshabihta la detección de tablas Este tipo enumeración puede incluir ademas un campo titulado "const AnalysisOptions EnableTextRecongnition", el cual habilita y deshabilita un proceso de análisis de reconocimiento de texto Sin embargo, si están disponibles procesos de análisis adicionales (o versiones diferentes del mismo proceso de análisis), entonces este tipo puede incluir, por consiguiente, un AnalysisOptions adicional Todavía adicionalmente, la API del Ink Analysis puede incluir una clase AnalysisResultsEventArgs Esta clase puede tener un constructor titulado "pubhc AnalysisResultsEventArgs()", el cual crea una estructura de datos que contiene los resultados del análisis y es regresada la aplicación del software cuando se ha originado un evento AnalysisResults- Esta clase también puede incluir una propiedad titulada "InkAnalyzer InkAnalyzer {get,}", el cual identifica el objeto InkAnalyzer que realizó el proceso de análisis La API puede tener también una clase de Linea, la cual puede ser util con algunos tipos de sistemas operativos que reconocen el uso de un objeto "Linea" que representa una linea geométrica Esta clase puede incluir un constructor, tal como un constructor titulado "pubhc Line(Point beginPoint, PointendPoint)", el cual crea un objeto de Linea Esta clase puede incluir varias propiedades, tales como una propiedad titulada "pubhc PomtBeginPoint {get, set,}\ la cual representa el punto de inicio del objeto de linea, y una propiedad titulada 'pubhc Point EndPoint {get, set,} , la cual representa el punto final del objeto de linea Ademas de estas clases, La API del Ink Analysis puede contener también una clase Recognition Altérnate Esta clase puede incluir elementos que representan los pares de palabras posibles para los segmentos de tinta que son comparados con un diccionario del reconocedor Por ejemplo, esta clase puede incluir una propiedad titulada "Line Ascender {get,}", la cual proporciona una linea ascendente de un objeto RecognitionAlternate que existe en una sola linea (siendo representada una linea como dos puntos), una propiedad titulada "pub c Line Baseline {get,}", la cual proporciona la linea de base de un objeto Recognition Altérnate que existe en una sola linea y una propiedad titulada "Line Descender {get,} , la cual proporciona la linea descendente de un objeto Recognition Altérnate que existe en una sola linea Esta clase también puede incluir una propiedad titulada 'RecognitionResult Extract {get,}", la cual proporciona un objeto Recognition Results para el objeto RecognitionAlternate actual Esta propiedad puede se utilizada, por ejemplo, para extraer el objeto RecognitionResult para una palabra del objeto RecognitionResult para una linea que contiene esa palabra También puede incluir la propiedad titulada "Line Midhne {get,}", la cual proporciona una linea media para un objeto RecognitionAlternate que existe en una sola linea, una propiedad titulada "StrokeCollection Strokes {get,}", la cual proporciona la colección de trazos que están contenidos en un objeto de tinta (es decir, proporciona un StrokeCollection que representa los trazos que están asociados con el RecognitionResult) y una propiedad titulada "StrokeCollection[] StrokesArray {get,}", la cual proporciona una colección de trazos que están contenidos en uno o mas objetos de tinta, representando los trazos que están asociados con el RecognitionResult Esta Clase puede incluir también una propiedad titulada RecognitionConfidence RecognitionConfidence {get,}", la cual proporciona el nivel de confianza (por ejemplo, fuerte, intermedia o poca) que ha determinado un proceso de análisis de reconocimiento en el reconocimiento de un objeto RecognitionAlternate, o de un movimiento Para los nodos que no son de linea, la RecognitionConfidence inferior del descendiente de los nodos de contexto relevantes serán regresados También puede contener una propiedad titulada ""string RecognizedString {get,}", la cual especifica la cadena de resultados de la alternativa De este modo, en cada nodo de contexto arriba de un nodo de contexto de palabra, la cadena de resultados es concatenada junto con este método Por ejemplo, un nodo de linea contendrá una cadena de resultados que a la vez contiene los resultados de todos sus descendientes o nodos de palabra Un nodo de párrafo entonces contendrá una cadena de resultados que contiene los resultados de todos sus descendientes o nodos de linea La clase Recognition Altérnate también puede contener uno o mas métodos que incluyen, por ejemplo, un método titulado "StrokeCollection[] GetStrokesArrayFromTextRange(int selectionstart, int selectionlength)", el cual especifica un StrokeCollection de cada objeto de tinta que corresponde a un rango de texto conocido Esta clase también puede contener un método titulado "StrokeCollection[]GetStrokesFromStrokesArrayRange(Stroke Collection[] strokesArray)", el cual especifica la colección mas pequeña de trazos que contiene una colección de trazos de entrada conocida y para el cual puede proporcionar alternativas el reconocedor Mas particularmente, los trazos son regresados por una matriz de objetos de tinta conteniendo cada uno una matriz de indicaciones de trazos para la colección La colección de trazos de tinta regresado por este método puede coincidir con la colección de entrada, o puede ser mas grande, si la colección de entrada coincide solamente con parte del resultado de reconocimiento mas pequeño que incluye todos los movimientos de entrada Esta clase puede incluir ademas un método titulado "StrokeCollectionGetStrokesFromStrokesRanges(StrokeCollec tion strokes)", el cual especifica la colección mas pequeña de trazos que contiene una colección de entrada conocida de trazos y para la cual el reconocedor puede proporcionar alternativas, y un método titulado "StrokeCollection GetStrokeFromTextRange(int selectionstart, int selectionlength) , el cual especifica el StrokeCollection que corresponde al rango de texto conocido Esta clase puede incluir ademas un método titulado uvoidGetTextRangeFromStrokes(ref int selectionstart, ref int selectionend , StrokeCollection strokes)", el cual especifica el rango mas pequeño del texto reconocido para el cual el reconocedor puede regresar una alternativa que contiene un conjunto conocido de trazos, y un método titulado "void GetTextRangeFromStrokesArray(ref int selectionstart, ref int selectionend , StrokeCollection[] strokesarray)" , el cual especifica el rango mas pequeño de texto reconocido por el cual el reconocedor puede regresar una alternativa que contiene un conjunto de trazos conocidos También puede tener un método titulado "RecognitionAltenateCollection SphtWithConstantPropertyValue(G U I D propertyType)" , el cual regresa una colección de alternativas, las cuales son una división de la alternativa sobre la cual es invocado este método Cada alternativa de la colección contiene segmentos de reconocimiento adyacentes los cuales tendrán el mismo valor de propiedad para la propiedad pasada en el método Por ejemplo, este método puede ser utilizado para obtener alternativas que dividen una alternativa original por nivel de limites de confianza (fuerte, intermedia o poca) en el resultado o reconocimiento, los limites de la linea o los limites del segmento Puede incluir ademas un método titulado "byte[]GetPropertyValue(G Ul D propertyType)", el cual especifica el valor de una propiedad conocida de la alternativa, tal como la confianza del reconocedor en la alternativa No todos los procesos de análisis de reconocimiento proporcionaran un valor para todos los tipos de propiedad Sin embargo, este método proporciona los datos, por lo tanto, para los tipos soportados por el proceso de análisis de reconocimiento relevante La API del Ink Analysis puede incluir también una clase Recognition Altérnate Collection Como muchas de las clases explicadas anteriormente, esta clase puede incluir un constructor, titulado 'RecognitionAlternateCollection()", para crear un objeto RecognitionAlternateCollection Esta clase puede incluir un numero de propiedades, tales como una propiedad titulada 'Count {get,}", la cual proporciona el numero de objetos o colecciones contenidas en una colección de valores de reconocimiento alternativos, una propiedad titulada "IsSynchronized {get,}", el cual proporciona un valor que indica si el acceso a la colección de los valores de reconocimiento alternativos está sincronizado con la aplicación del software (por ejemplo, "series de artículos en programación seguros") y una propiedad titulada "SyncRoot {get,}", la cual proporciona el objeto que puede ser utilizado para sincronizar el acceso a la colección de valores de reconocimiento alternativos Esta clase puede contener también uno o mas métodos, tales como un método titulado "virtual void CopyTo(Array array, int índex)", el cual copia todos los elementos de la colección de valores de reconocimiento alternativos actuales a la matriz unidimensional especificada, iniciando en el índice de la matriz de destino especificado y un método titulado "lEnumerator Innumerable GetEnumeratorQ", el cual es una implementacion estándar de Inumerable que hace posible que los que los invocan utilicen cada uno de los constructores para enumerar a través de cada uno de los RecognitionAlternate en la colección de valores de reconocimiento alternativos Esta clase también puede incluir un método titulado "RecognitionAlternateCollectionEnumerator GetEnumeratorO", el cual retorna un RecognitionAlternateCollectionEnumerator que contiene todos los objetos dentro de la colección de valores de reconocimiento alternativos Este método puede ser utilizado, por ejemplo, para recuperar cada objeto de la colección de valores de reconocimiento alternativos La API del I n k Analysis puede incluir adicionalm ente una enumeración Recognition Confidence y una enumeración Recognition Mode, y cada una de las mismas puede contener uno o mas campos relacionados con un proceso de análisis de reconocimiento Por ejemplo, la clase Recognition Confidence puede contener campos múltiples, tales como un campo titulado "Intermedíate", que indica que el proceso de análisis de reconocimiento esta confiado en que el resultado correcto se encuentra en la lista de valores de reconocimiento alternativos proporcionada, un campo titulado Poor el cual indica que el análisis de reconocimiento no tiene confianza en que el resultado se encuentre en la lista de los valores de reconocimiento alternativos proporcionados y un campo titulado "Strong', el cual indica que el proceso de análisis de reconocimiento que esta confiado que la mejor alternativa de los valores de reconocimiento alternativos es correcta De un modo similar, la clase Recognition Mode puede incluir campos que especifican la forma en que el proceso de análisis de reconocimiento interpreta los datos de tinta electrónica y por lo tanto, determina una cadena de resultados de reconocimiento Por ejemplo, esta clase puede incluir un campo titulado Coerce el cual especifica que el proceso de análisis de reconocimiento co-acciona un resultado de reconocimiento basado en una información no confirmada que fue especificada por el contexto, y un campo titulado "Line", el cual especifica que el proceso de análisis de reconocimiento que trata los datos de tinta electrónica como una sola linea Esta clase también puede incluir un campo titulado "None', el cual especifica que el proceso de análisis de reconocimiento no aplica modos de reconocimiento y un campo titulado 'Segment", el cual especifica que el proceso de análisis de reconocimiento trata los datos de tinta electrónica como si formaran una sola palabra o carácter Todavía adicionalmente, esta clase puede contener un campo titulado Topl nkBreaksOnly ', el cual deshabilita la segmentación múltiple Todavía adicionalmente, La API del Ink Analysis puede incluir una clase Context Lmk, la cual define la forma en que pueden estar enlazados dos nodos de contexto El objeto ContextLink por si mismo representa cuales dos nodos de contexto están enlazados, la dirección de la tinta y el tipo de enlace Esta clase puede incluir una propiedad titulada 'ContextNode SourceNode{get,} , la cual especifica el nodo de contexto fuente que esta siendo enlazado desde otro nodo de contexto, una propiedad titulada "ContextünkType LinkType{get,}", la cual especifica el tipo de relación de enlace que existe entre la fuente y los nodos de contexto de destino, y una propiedad titulada uCustomLinkType{get,}", que especifica que esta siendo utilizado un enlace personalizado Esta situación ocurriría cuando una aplicación decide utilizar un sistema de enlace de la API del Ink Analyzer para representar enlaces específicos de la aplicación mas alia de los que puede reconocer la API Esta clase puede incluir también una propiedad titulada 'ContextNode DestinationNode {get,} , la cual especifica el nodo de contexto de destino que esta siendo enlazado desde otro nodo de contexto Pueden existir dos constructores disponibles para esta clase, los cuales crean una relación entre la fuente y los nodos de contexto de destino existentes Esta clase puede incluir también una enumeración titulada "ContextLmkType enum", la cual define el tipo de relación compartida por los dos nodos de contexto Estos diferentes tipos de enlace pueden incluir, por ejemplo, un tipo "AnchorsTo", el cual describe que un nodo esta fijado al otro nodo Ambos nodos pueden utilizar la propiedad SourceNode o DestinationNode basados en la situación del análisis Los tipos de enlace también pueden incluir el tipo "Contains , el cual describe que un nodo contiene el otro nodo Con esta relación, nos podríamos referir al nodo contenedor como el SourceNode, mientras que al nodo contenido nos referiríamos como el DestinationNode Los tipos de enlace pueden incluir ademas un tipo PointsTo', el cual describe que un nodo esta señalando a otro nodo Para esta relación, no podríamos referir al nodo que hace el señalamiento como el SourceNode, mientras que el nodo que esta siendo señalado es al que nos podríamos referir como el DestinationNode Todavía adicionalmente, los tipos de enlace pueden tener un tipo "PointsFrom , el cual describe que un nodo esta señalando desde otro nodo En esta relación, al nodo que esta señalando lejos del otro nodo nos podríamos referir como el SourceNode, mientras que al nodo que esta siendo señalado nos podríamos referir como el DestinationNode Los tipos de enlace pueden incluir adicionalmente un tipo "SpansMonzontally" el cual describe que un nodo opera horizontalmente en la longitud de otro nodo y un tipo "SpansVertically", el cual describe que un nodo opera verticalmente la longitud de otro nodo Para estos tipos, el nodo que cubre (borrado, subrayado, barra de margen) al otro nodo, generalmente escrito después, es al que nos podríamos referir como el SourceNode, mientras que el nodo que esta siendo expandido es al que nos podríamos referir como el DestinationNode Los tipos de enlace también pueden incluir un tipo "Custom", el cual describe que ha sido utilizado un tipo de enlace de personalización Cuando es utilizado este valor, la propiedad CustomLinkType" en el objeto ContextLink podría proporcionar mas detalles con respecto al proposito de este enlace Modelo de Aplicación Un Cliente Windows integra características de la Web con características de las aplicaciones tradicionales de las computadoras de escritorio Este Modelo de Aplicación proporciona un sistema para las aplicaciones seguras y simplifica el desarrollo, despliega en pantalla y mantenimiento de las aplicaciones del cliente Esta metodología proporciona una experiencia simple y consistente al usuario Por ejemplo, las aplicaciones locales pueden apalancar características similares al buscador familiar, independientemente de si la aplicación esta alojada en el buscador o es una aplicación independiente, mientras retiene los beneficios de ejecución en el cliente local Esta metodología permite que los usuarios apalanquen su familiaridad con la Web, aumentando de este modo, el nivel de comodidad del usuario y reduciendo el tiempo requerido para aprender a usar una nueva aplicación El Modelo de Aplicación es parte del espacio de nombre System Windows Las aplicaciones que utilizan el Modelo de Aplicación operan de una manera similar a las paginas Web Cuando un usuario busca una aplicación, la aplicación es instalada automáticamente sin requerir la confirmación de instalación por parte del usuario, volver a inicializar el sistema de cliente, o arriesgarse a un mal funcionamiento de otras aplicaciones En una modalidad, las aplicaciones se descargan progresivamente proporcionando, de este modo, un nivel inicial de interactividad antes de que la aplicación este completamente descargada Las actualizaciones de la aplicación son manejadas automáticamente y de una manera que es transparente para el usuario Por lo tanto, el usuario siempre tiene acceso a la ultima versión de la aplicación, sin tener que realizar explícitamente una actualización de la aplicación Las aplicaciones que utilizan el modelo de aplicación se ejecutan localmente en el sistema del cliente, independientemente de si el sistema del cliente esta en linea (por ejemplo, conectado activamente a la Web) o fuera de linea (por ejemplo, no esta conectado activamente a la Web) Esto permite que una aplicación proporcione un mejor funcionamiento que una aplicación basada en el servidor que necesita la conexión activa de la Web e intercambio de datos continuamente con el servidor por parte de la Web Después de que es instalada una aplicación en un sistema del cliente, se puede tener acceso a la aplicación desde el menú "Inicio" (igual que en una aplicación tradicional de una computadora de escritorio) o navegando a la aplicación (igual que una aplicación Web) El Modelo de Aplicación contiene tres partes principales La administración del ciclo de vida de la aplicación, una metodología de la aplicación y una metodología de navegación Dos tipos diferentes de aplicaciones son soportados por el Modelo de Aplicación una "aplicación en linea", y una "aplicación administrada" Las aplicaciones que utilizan el Modelo de Aplicación se pueden ejecutar en el buscador o en una ventana de nivel superior independiente Una "aplicación en linea" es una aplicación que se ejecuta desde un servidor y esta alojada en un buscador La aplicación puede ser guardada en la memoria inmediata para el acceso fuera de linea o la aplicación puede requerir ciertos recursos en linea para ejecutarse apropiadamente Una "aplicación administrada esta disponible fuera de linea y es instalada en el cliente El sistema operativo da servicio a la aplicación administrada Se puede agregar una entrada para la aplicación administrada en el menú de "Inicio" del cliente Las aplicaciones pueden ser descargadas progresivamente para permitir que el usuario comience a interactuar con la aplicación conforme esta siendo descargada, en vez de demorar la interacción hasta que haya terminado el proceso de instalación Las aplicaciones tienen un manifiesto de aplicación asociado que describe las dependencias de la aplicación, tales como las librerías y recursos necesarios para ejecutar la aplicación Un instalador utiliza el manifiesto de la aplicación para controlar la descarga e instalación de la aplicación Se invoca un "trust manager" como parte del proceso de instalación El administrador de confianza utiliza el manifiesto de aplicación para determinar que permisos son necesarios para que se ejecute la aplicación El manifiesto de aplicación también especifica la información del interprete de ordenes del sistema operativo (shell), tales como asociaciones de archivos y si se agrega una entrada al menú de Inicio, asi como el icono y el texto para la entrada Las aplicaciones que utilizan el Modelo de Aplicación incluyen marcador, código, recursos y un manifiesto Una aplicación es definida y delimitada por su objeto de aplicación, el cual es un objeto global que persiste en la memoria por el periodo de vida de cada sesión de la aplicación El objeto de aplicación tiene conocimiento de todos los recursos que pertenecen a la aplicación y proporciona un limite entre la misma y otras aplicaciones o recursos externos El sistema de aplicación utiliza el objeto de aplicación para identificar, hacer referencia y comunicarse con la aplicación El objeto de aplicación también es utilizado dentro de la aplicación para administrar las ventanas y recursos, especificar el comportamiento de arranque y cierre, manejar ajustes de configuración, estilos específicos visuales para la aplicación, compartir códigos, manifestar la navegación por los recursos y manejar los eventos amplios de la aplicación El sistema de navegación soporta las aplicaciones basadas en la navegación que apalancan la familiaridad del usuario con la navegación y las actividades de sus navegaciones en la Web para proporcionar una experiencia del usuario mas consistente y familiar en el sistema de cliente, independientemente de si la aplicación esta alojada en el buscador del sistema o en una ventana de nivel superior independiente El diario es un proceso utilizado por el sistema de navegación para rastrear la historia de navegación El diario permite que los usuarios vuelvan a trazar sus pasos hacia atrás y hacia delante en una secuencia lineal de navegación Si una experiencia de navegación esta alojada en el buscador o en una ventana independiente de navegación, cada navegación persiste en el diario y puede ser visitada nuevamente en una secuencia lineal, utilizando los botones de "avance y "retroceso', o invocando los métodos "ir hacia delante" y "retroceder" Cada ventana de navegación tiene su diario asociado La clase Aplicación de Navegación simplifica la tarea de crear aplicaciones basadas en la navegación proporcionando propiedades y eventos relacionados con la navegación La clase Na vigationApphcation incluye una propiedad de inicio que especifica la pagina o elemento hacia el cual navega el sistema cuando la aplicación es lanzada por primera vez Esta clase también tiene una colección de propiedades que permiten que un desarrollador de la aplicación comparta la información de condición global en las paginas, sin tener que subclasi icar la aplicación y soporta el enlace de datos a estas propiedades SISTEMA DE CÓMPUTO Y AMBIENTE DE EJEMPLO La figura 4 ilustra un ejemplo de un ambiente de computo adecuado 400 dentro del cual puede ser implementado el sistema de programación 132 (ya sea completa o parcialmente) El ambiente de computo 400 puede ser utilizado en las arquitecturas de computadora y redes aquí descritas El ambiente de computo de ejemplo 400 es solamente un ejemplo de un ambiente de computo y no pretende sugerir cualquier limitación en lo que se refiere al alcance del uso o funcionalidad de las arquitecturas de las computadoras y las redes Ni deben de ser interpretados los ambientes de computo 400 como que tienen dependencia alguna o requerimientos relacionados con cualquiera o una combinación de componentes ilustrados en el ambiente de computo de ejemplo 400 El sistema 132 puede ser implementado con otros numerosos ambientes del sistema de computo de uso general o para propósitos especiales o configuraciones Los ejemplos de los sistemas, ambientes y/o configuraciones de computo bien conocidos que pueden ser adecuados para utilizarlos incluyen, pero no están limitados a, computadoras personales, computadoras de servidor, sistemas de multiprocesador, sistemas basados en microprocesadores, PCs de redes, mmicomputadoras, computadoras de estructura principal, ambientes de computo distribuidos que incluyen cualquiera de los sistemas o aparatos anteriores, y asi sucesivamente Las versiones compactas o subconjuntos del trabajo de estructura también pueden ser implementados en los clientes de recursos limitados, tales como telefonos celulares, asistentes personales digitales, computadoras portátiles, y otros aparatos de comunicación/computo El sistema 132 puede ser descrito en el contexto general de las instrucciones ejecutables por computadora, tales como módulos de software, siendo ejecutados por una o mas computadoras o aparatos Generalmente, los módulos de software incluyen rutinas, softwares, objetos, componentes, estructuras de datos, etc , que realizan tareas particulares o implementan tipos de datos abstractos particulares El trabajo de estructura 132 también puede ser practicado en los ambientes de computo distribuidos, en donde las tareas son realizadas por aparatos de procesamiento remotos que están enlazados a través de redes de comunicaciones En un ambiente de computo distribuido, los módulos del software pueden estar localizados, tanto en los medios de almacenamiento de la computadora locales como remotos incluyendo los aparatos de almacenamiento de memoria El ambiente de computo 400 incluye un aparato de computo de uso general en la forma de una computadora 402 Los componentes de la computadora 402 pueden incluir, pero no están limitados a, uno o mas procesadores o unidades de procesamiento 404, una memoria del sistema 406, un bus del sistema 408 que conecta varios componentes del sistema incluyendo el procesador 404 a la memoria del sistema 406 El bus del sistema 408 representa uno o mas de varios tipos posibles de estructuras del bus, incluyendo un bus de memoria o un controlador de memoria, un bus periférico, un puerto de gráficos acelerado y un procesador o bus local que utiliza cualquiera de una variedad de arquitecturas del bus A modo de ejemplo, dichas arquitecturas pueden incluir un bus de Arquitectura Estándar de la Industria (ISA), un bus de la Arquitectura de icrocanal (MCA), un bus ISA Mejorado (EISA), un bus local de la Asociación de Estándares de Componentes Electrónicos de Video (VESA) y un bus de Interconexión de Componentes Periféricos (PCI), conocido como un bus Mezzanine La computadora 402 generalmente incluye una variedad de medios legibles por computadora Dichos medios pueden ser cualquier medio disponible al que se pueda acceder por medio de la computadora 402 e incluye, tanto medios volátiles como no volátiles y tanto medios removibles como no removibles La memoria del sistema 406, incluye una memoria legible por computadora en la forma de una memoria volátil, tal como una memoria de acceso aleatorio (RAM) 410, y/o, una memoria no volátil (tal como una memoria solo de lectura (ROM) 412 Un sistema básico de entrada/salida (BIOS) 414, contiene las rutinas básicas para ayudar a transferir información entre los elementos dentro de la computadora 402, tal como durante el arranque, y es almacenado en la memoria ROM 412 La memoria RAM 410 contiene generalmente módulos de datos y/o software a los que se puede acceder inmediatamente y/o que son operados actualmente sobre una unidad de procesamiento 404 La computadora 402 también puede incluir otros medios de almacenamiento de computadora removibles/no removibles, volatiles/no volátiles A modo de ejemplo, la figura 4 ilustra una unidad un disco duro 416 para leer y escribir en un medio magnético no removible, no volátil (no mostrado), una unidad de disco magnético 418 para leer y escribir en un disco magnético removible, no volátil 420 (por ejemplo, un "diskette"), y una unidad de disco óptico 422 para leer y/o escribir en un disco óptico removible no volátil 424, tal como un CD-ROM, DVD-ROM, u otro medio óptico La unidad del disco duro 416, la unidad del disco magnético 418, y la unidad del disco óptico 422 son conectadas cada una al bus del sistema 408 por una o mas interfases de medios de datos 426 Alternativamente, la unidad del disco duro 416, la unidad del disco magnético 418 y la unidad del disco óptico 422 pueden ser conectadas al bus del sistema 408 por medio de una o mas interfases (no mostradas) Las unidades de discos y sus medios legibles por computadora asociados proporcionan el almacenamiento no volátil de las instrucciones legibles por computadora, estructuras de datos, módulos de software y otros datos para la computadora 402 Aunque el ejemplo ilustra un disco duro 416, un disco magnético removible 420 y discos ópticos removibles 424, se puede apreciar que también pueden ser utilizados otros discos magnéticos de los medios legibles por computadora que pueden almacenar datos a los que se puede acceder por una computadora, tales como los cassettes magnéticos o los aparatos de almacenamiento magnético, las tarjetas de memoria instantánea, el CD-ROM, los discos digitales versátiles (DVD), u otros almacenamientos ópticos, las memorias de acceso aleatorio (RAM), las memorias solo de lectura (ROM), las memorias solo de lectura que se pueden programar y que se borran eléctricamente (EEPROM), y similares, para implementar los sistemas y ambientes de computo de ejemplo Cualquier numero de módulos de software puede ser almacenado en el disco duro 416, el disco magnético 420, el disco óptico 424, el ROM 412, y/o RAM 410, incluyendo a modo de ejemplo, un sistema operativo 426, uno o mas softwares de aplicación 428, otros módulos de software 430 y los datos del software 432 Cada uno del sistema operativo 426, uno o mas softwares de aplicación 428, otros módulos de software 430 y datos del software 432 (o alguna combinación de los mismos) puede incluir elementos de trabajo del sistema de programación 132 Un usuario puede ingresar comandos e información en la computadora 402 por medio de aparatos de entrada, tales como el teclado 434 o un aparato de señalamiento 436 (por ejemplo, un "ratón") Otros aparatos de entrada 438 (no mostrados específicamente) pueden incluir un micrófono, una palanca, una almohadilla de juegos, un plato de satélite, un puerto de serie, un escáner o similares Estos y otros aparatos de entrada son conectados a la unidad de procesamiento 404, por medio de las interfases de entrada/salida 440 que están conectadas al bus del sistema 408, pero pueden ser conectadas por otra interfase y estructuras de bus, tales como un puerto paralelo, un puerto de juego, o un bus de serie universal (USB) También pueden ser conectados un monitor 442 u otro tipo de aparato de pantalla al bus del sistema 408 por medio de una interfase, tal como un adaptador de video 444 Además del monitor 442, otros aparatos periféricos de salida pueden incluir componentes tales como bocinas (no mostradas) y una impresora 446, la cual puede ser conectada a la computadora 402 por medio de interfases de entrada/salida 440 La computadora 402 puede operar en un ambiente de red utilizando conexiones lógicas a una o mas computadoras remotas, tales como un aparato de computo remoto 448 A modo de ejemplo, el aparato remoto 448 puede ser una computadora personal, una computadora portátil, un servidor, un enrutador, una computadora de red, un aparato semejante, u otros nodos de red común y asi sucesivamente El aparato computo remoto 448 esta ilustrado como una computadora portátil que puede incluir muchos o todos los elementos y características aquí descritos en relación con la computadora 402 Las conexiones lógicas entre la computadora 402 y la computadora remota 448 se ilustran como una red de área local (LAN) 450, y una red de área ancha general (WAN) 452 Dichos ambientes de red son un lugar común en las oficinas, las redes de computo anchas de empresa, intranets y la Internet Cuando es implementada en un ambiente de red LAN, la computadora 402 es conectada a una red local 450 por medio de una interfase de red o adaptador 454 Cuando es implementada en un ambiente de red WAN, la computadora 402 generalmente incluye un modem 456 u otros medios para establecer comunicaciones por una red ancha 452 El modem 456, el cual puede ser interno o externo a la computadora 402, puede ser conectado al bus del sistema 408 por medio de interfases de entrada/salida 440 u otros mecanismos apropiados Deberá apreciarse que las condiciones de red ilustradas son de ejemplo, y que se pueden emplear otros medios para establecer enlaces de comunicación entre las computadoras 402 y 448 En un ambiente de red, tal como la que se ilustro con el ambiente de computo 400, los módulos del software ilustrados en relación con la computadora 402, o porciones de los mismos, pueden ser almacenados en un aparato de almacenamiento de memoria remoto A modo de ejemplo, los softwares de aplicación remota 458 residen en un aparato de memoria de la computadora remota 448 Para propósitos de ilustración, los softwares de aplicación y otros componentes del software que se pueden ejecutar, tales como el sistema operativo aquí se ilustran como bloques separados, aunque deberá reconocerse que dichos softwares y componentes residen varias veces en componentes de almacenamiento diferentes del aparato de computo 402 y son ejecutados por el procesador de datos de la computadora Una implementacion del trabajo de estructura 132, y particularmente, el API 142 o las llamadas hechas al API 142, pueden ser almacenados o transmitidos por alguna forma de medios legibles por computadora Los medios legibles por computadora pueden ser cualesquiera medios disponibles a los que se puede acceder por la computadora A modo de ejemplo, y no de limitación, el medio legible por computadora puede comprender, el "medio de almacenamiento de computadora", y medio de comunicaciones" El medio de almacenamiento de computadora incluye medios volátiles y no volátiles, removibles y no removibles, im plementados en cualquier método o tecnología para el almacenamiento de información, tal como las instrucciones legibles por computadora, las estructuras de datos, módulos de software, u otros datos Los medios de almacenamiento de computadora incluyen, pero no están limitados a memorias RAM, ROM, EEPROM, memoria instantánea, u otra tecnología de memoria, CD-ROM, discos digitales versátiles (DVD), u otro almacenamiento óptico, cassettes magnéticos, cintas magnéticas, almacenamiento de disco magnético u otros aparatos de almacenamiento magnéticos, o cualquier otro medio el cual puede ser utilizado para almacenar la información deseada y al cual se puede acceder por medio de una computadora Los "medios de comunicación" generalmente incorporan instrucciones legibles por computadora, estructuras de datos, módulos de software u otros datos en una señal de datos modulada, tal como una onda portadora u otro mecanismo de transporte Los medios de comunicación también incluyen cualquier medio de entrega de información El termino "señal de datos modulada" significa una señal que tiene una o mas de sus características ajustadas o cambiadas de un modo tal como para codificar la información en la señal A modo de ejemplo, y no de limitación, los medios de comunicación incluyen medios cableados, tales como redes cableadas o conexiones de cable directo, y medios inalámbricos, tales como acústicos, RF, infrarrojos y otros medios inalámbricos También están incluidas las combinaciones de cualquiera de las anteriores dentro del alcance de los medios legibles por com putadora Alternativamente, pueden ser implementadas porciones del trabajo de estructura en el hardware o en una combinación de hardware, software y/o firmware Por ejemplo, uno o mas circuitos integrados específicos de aplicación (ASICs), o aparatos lógicos programables (PLDs), podrían ser diseñados o programados para implementar una o mas porciones del trabajo del sistema Una interfase de programación (o mas simplemente, interfase) puede ser vista como cualquier mecanismo, proceso, protocolo para posibilitar uno o mas segmentos de código para que se comuniquen con o tengan acceso con la funcionalidad proporcionada por uno o mas de otros segmentos de códigos Alternativamente, una interfase de programación puede ser vista como uno o mas mecanismos, métodos, llamadas de función, módulos, objetos, etc , de un componente de un sistema con capacidad para la conexión de comunicación con uno o mas mecanismos, métodos, llamadas de función, módulos, etc , de otros componentes El termino "segmento de código" en la oración anterior pretende incluir una o mas instrucciones o lineas de códigos, e incluye, por ejemplo, módulos de código, objetos, subrutinas, funciones, y asi sucesivamente, independientemente de la terminología aplicada o de si los segmentos de código son recolectados por separado, o si los segmentos de código están proporcionados por una fuente, intermediario o código de objeto, si los segmentos de código son utilizados en un sistema de tiempo de ejecución o proceso, o si ellos están localizados en la misma o maquinas diferentes o distribuidos en maquinas múltiples o si la funcionalidad representada por los segmentos de código son implementados en su totalidad en el software, en su totalidad en el hardware o una combinación del hardware y el software Como una noción, una interfase de programación puede ser vista genéricamente, tal y como se muestra en la figura 5 o en la figura 6 La figura 5 ilustra una inferíase Interfasel como un conducto a través del cual se comuniquen el primer y segundo segmentos de código La figura 6 ilustra una interfase como que comprende los objetos de mterfase 11 y 12 (los cuales pueden o no ser parte del primer y segundo segmentos de códigos), los cuales hacen posible que el primer y segundo segmentos de código de un sistema se comuniquen por el medio En la vista de la figura 6, se puede considerar como objetos de interfase 11 y 12 como interfases separadas del mismo sistema y uno puede también considerar que los objetos 11 y 12 mas el medio M comprende la interfase Aunque las figuras 5 y 6 muestran un flujo bidireccional e interfase en cada lado del flujo, ciertas implementaciones pueden tener solamente flujo de información en una dirección (o no tener flujo de información tal y como se describirá mas adelante) o pueden solamente tener un objeto de interfase por un lado A modo de ejemplo, y no de limitación, términos tales como la programación de aplicación o interfase de software (API), punto de entrada, método, función, subrutina, llamado de procedimiento remoto, interfase de modelo de objeto del componente (COM), están comprendidos dentro de la definición de interfase de programación Los aspectos de dicha mterfase de programación pueden incluir el método por medio del cual el primer segmento de códigos transmite la información (en donde 'información" es utilizado en su sentido mas amplio e incluye datos, comandos, solicitudes, etc ) con el segundo segmento de código, por medio de dicho método el segundo segmento de código recibe la información y la estructura, secuencia, sintaxis, organización, esquema, programación y contenido de la información En este aspecto, el medio de transporte subyacente por si mismo puede no ser importante para la operación de la interfase, si el medio es cableado o inalámbrico, o una combinación de ambos, siempre que la información sea transmitida de la manera definida por la interfase En ciertas situaciones, la información puede no ser pasada en una o ambas direcciones en el sentido convencional, ya que una transferencia de información puede, ser ya sea por medio de otro mecanismo (por ejemplo, la información colocada en una memoria intermedia, archivo, etc , separado del flujo de información entre los segmentos de código), o no existente, tal como cuando un segmento de código simplemente tiene acceso a la funcionalidad realizada por el segundo segmento de código Cualquiera o todos de estos aspectos pueden ser importantes en una situación determinada, por ejemplo, dependiendo de si los segmentos de código son parte de un sistema en una configuración conectada estrechamente o conectada de manera suelta y de este modo, esta lista debe ser considerada como ilustrativa y no limitativa Esta noción de una interfase de programación es conocida por aquellos expertos en la técnica, y es clara a partir de la descripción detallada anterior de la presente invención Sin embargo, existen otros medios para implementar una interfase de programación, y a menos que estén incluidos expresamente, estos también deben estar comprendidos por las reivindicaciones que se establecen al final de la presente descripción Dichos otros medios pueden parecer mas sofisticados o complejos de la vista simplificada de las figuras 5 y 6, pero sin embargo, ellos realizan una función similar para realizar el mismo resultado general Ahora describiremos brevemente algunas implementaciones alternativas de ilustración de una interfase de programación A FACTORIZACIÓN Una comunicación de un segmento de código a otro puede ser realizada indirectamente, dividiendo la comunicación en múltiples comunicaciones separadas Esto es ilustrado esquemáticamente en las figuras 7 y 8 Tal y como se muestra, algunas interfases pueden ser descritas en términos de conjuntos visibles de funcionalidad Por lo tanto, la funcionalidad de la interfase de las figuras 5 y 6 puede ser factorizada para lograr el mismo resultado, justamente como uno podría proporcionarle matemáticamente 24, o 2 por 2 por 3 por 2 Por consiguiente, tal y como se ilustro en la figura 7, la función proporcionada por la Interfasel puede ser subdividida para convertir las comunicaciones de la interfase en interfases múltiples InterfaselA, InterfaselB, InterfaselC, etc , aunque se logra el mismo resultado Tal y como se ilustro en la figura 8, la función proporcionada por la mterfase 11 puede ser subdividida en las interfases múltiples 11a, 11b, 11c, etc , mientras se logra el mismo resultado De un modo similar, la mterfase 12 del segundo segmento de códigos, el cual recibe la información del primer segmento de códigos puede ser factorizada en interfases múltiples I2a, 12 b , I2c, etcétera Cuando se hace la factorizacion, el numero de interfases incluidas con el primer segmento de código no necesita coincidir con el numero de interfases incluidas con el segundo segmento de códigos En cualquiera de los casos de las figuras 7 y 8, el espíritu funcional de las interfases Interfasel e 11, permanecen iguales que en las figuras 5 y 6, respectivamente La factorizacion de las interfases también puede seguir propiedades asociativas, conmutativas u otras matemáticas, de modo que la factorizacion pueda ser difícil de reconocer Por ejemplo, la ordenación de operaciones puede no ser importante, y por consiguiente, una función llevada a cabo por una mterfase puede ser llevada a cabo, bien por anticipado antes de alcanzar la mterfase, por otra pieza de código o mterfase, o realizada por un componente separado del sistema Ademas, un experto en la técnica del arte de programación puede apreciar que existe una variedad de medios para hacer diferentes llamadas de función para lograr el mismo resultado B REDEFINICION En algunos casos, puede ser posible ignorar, agregar, o volver a definir ciertos aspectos (por ejemplo, parámetros) de una interfase de programación mientras que todavía se logra el resultado pretendido Esto se ilustra en las figuras 9 y 10 Por ejemplo, supongamos que la Interfasel de la figura 5 incluye una función de elevación al cuadrado de llamada (entrada, precisión, salida), una llamada que incluye tres parámetros, entrada, precisión y salida, y la cual es emitida desde el primer segmento de código al segundo segmento de código Si el parámetro medio de precisión no es preocupante para un escenario determinado, tal y como se muestra en la figura 9, este podría también ser ignorado y aun reemplazado por un parámetro sin importancia (en esta situación) También se pueden agregar un parámetro adicional que no es de importancia En cualquier caso, se puede lograr la funcionalidad de elevación al cuadrado, siempre y cuando la salida sea regresada después de que la entrada sea elevada al cuadrado por el segundo segmento de código La precisión puede muy bien ser un parámetro importante para alguna porción descendente o de otro tipo, del sistema de computo sin embargo, una vez que se ha reconocido que la precisión no es necesaria para el proposito estrecho de calcular el cuadrado, esta puede ser reemplazada o ignorada Por ejemplo, en vez de pasar un valor valido de precisión, se podría pasar un valor menos importante, tal como la fecha de nacimiento, sin afectar de manera adversa el resultado De un modo similar, y tal como se muestra en la figura 10, la interfase 11 es reemplazada por la interfase 11', definida nuevamente para ignorar o agregar parámetros a la interfase La interfase 12 puede ser redefinida de un modo similar con la interfase 12', redefinida para ignorar los parámetros innecesarios, o los parámetros que pueden ser procesados en alguna otra parte Aquí, el punto es que en algunos casos, una mterfase de programación puede incluir aspectos, tales como parámetros que no son necesarios para algún proposito, y de este modo, ellos pueden ignorados o redefmidos, o procesados en alguna otra parte para otros propósitos C CODIFICACION EN LINEA También puede ser factible unir algunas y todas las funcionalidades de dos módulos de código separados, de modo que la "mterfase" entre ellos cambie de forma Por ejemplo, la funcionalidad de las figuras 5 y 6 puede ser convertida en la funcionalidad de las figuras 11 y 12, respectivamente En la figura 11, el primer y segundo segmentos de códigos previos de la figura 5, son unidos en un modulo que contiene ambos de ellos En este caso, los segmentos de código todavía pueden estarse comunicando entre ellos, pero la interfase puede estar adaptada a una forma la cual es mas adecuada para un solo modulo Por lo tanto, y por ejemplo, las declaraciones de llamada y regreso formales pueden no ser necesarias ya, pero todavía pueden estar en efecto los procesamientos o respuestas similares siguiendo la Interfasel De un modo similar y como se muestra en la figura 12, parte de (o toda) la interfase 12 de la figura 6 puede ser escrita en linea dentro de la interfase 11 para formar la interfase 11" Tal y como se ilustro, la interfase 12 es dividida en 12a e 12b, y la porción de la interfase 12a ha sido codificada en linea con la interfase 11 para formar la interfase 11" Para un ejemplo concreto, considerar que la interfase 11 de la figura 6 realiza una elevación al cuadrado de llamada de función (entrada, salida), la cual es recibida por la interfase 12, la cual después del procesamiento del valor pasado por la entrada (para elevarlo al cuadrado) por el segundo segmento de código, vuelve a pasar el resultado de la elevación al cuadrado con la salida En dicho caso, el procesamiento realizado por el segundo segmento de códigos (elevado al cuadrado a la entrada) puede ser realizado por el primer segmento de código sin una llamada a la interfase D SEPARACION Una comunicación de un segmento de código a otro puede ser llevada a cabo indirectamente, dividiendo la comunicación en comunicaciones múltiples separadas Esto es ilustrado esquemáticamente en las figuras 13 y 14 Tal y como se muestra en la figura 13, se proporcionan una o mas piezas de middleware (Interfase de Separación, ya que separa las funciones de funcionalidad y/o interfase de la interfase original) para convertir las comunicaciones de la primera interfase, Interfasel, para volverlas a formar en una interfase diferente, en este caso las interfases lnterfase2A lnterfase2B, e lnterfase2C Esto se podría hacer, por ejemplo, en los casos en que existe una base instalada de aplicaciones diseñada para comunicarse con digamos un sistema operativo de acuerdo con un protocolo de la Interfasel, pero entonces el sistema operativo es cambiado para utilizar una interfase diferente, en este caso, las interfases lnterfase2A, lnterfase2B, e lnterfase2C El punto es que la interfase original utilizada por el segundo segmento de códigos es cambiada, de modo que ya no es compatible con la interfase utilizada por el primer segmento de códigos, y de este modo, se utiliza un intermediario para hacer que las interfases vieja y nueva sean compatibles De un modo similar, tal y como se muestra en la figura 14, un tercer segmento de código puede ser introducido con la interfase de separación DI1 para recibir las comunicaciones de la interfase 11 y separarlas de la interfase DI2, para transmitir la funcionalidad de interfase a, por ejemplo, las interfases I2a, e 12 b , rediseñadas para funcionar con el D 12 , pero proporcionan el mismo resultado funcional De un modo similar, las interfases DI1 y DI2 pueden funcionar juntas para traducir la funcionalidad de las interfases 11 e 12, de la figura 6, a un nuevo sistema operativo mientras que se proporciona un resultado funcional igual o similar E SOBREESCRITURA Todavía otra vanante posible es volver a escribir dinámicamente el código para reemplazar la funcionalidad de la interfase con algo mas pero lo cual logra el mismo resultado general Por ejemplo, puede existir un sistema en el cual el segmento de código presentado en un lenguaje intermedio (por ejemplo, Microsoft IL, Java ByteCode, etc ) es proporcionado en un recopilador o interpretador Justo-a-Tiempo (JIT), en un ambiente de ejecución (tal como el que se proporciona por la metodología Net, el ambiente de tiempo de ejecución Java u otros ambientes de tiempo de ejecución similares) El recolector JIT puede ser escrito de modo que convierta dinámicamente las comunicaciones del primer segmento de código al segundo segmento de código, por ejemplo, que los conforme a una inferíase diferente como puede ser requerido por el segundo segmento de código (ya sea el segundo segmento de código original o uno diferente) Esto se ilustra en las figuras 15 y 16 Como se puede apreciar en la figura 15, este método es similar al escenario de Separación descrito anteriormente Se podría hacer, por ejemplo, en los casos en que la base de aplicaciones instaladas están diseñadas para comunicarse con un sistema operativo de acuerdo con un protocolo de Interfasel, pero entonces el sistema operativo es cambiado para utilizar una interfase diferente El Recolector J IT podría ser usado para darle forma a las comunicaciones al vuelo de las aplicaciones básicas instaladas a la interfase nueva del sistema operativo Tal y como se ilustra en la figura 16, este método para volver a escribir dinámicamente la interfase(s) puede ser aplicado para factorizar dinámicamente, o también alterar de otro modo la interfase También deberá observarse que los escenarios anteriormente descritos para lograr el mismo resultado o un resultado similar como una mterfase por medio de modalidades alternativas, puede ser combinado de diferentes maneras, en serie y/o en paralelo, o con otros códigos de intervención Por lo tanto, las modalidades alternativas presentadas anteriormente, todas se incluyen mutuamente y pueden ser mezcladas, emparejadas y combinadas para producir el mismo escenario o escenarios equivalentes a los escenarios genéricos presentados en las figuras 5 y 6 También deberá observar que, igual que con la mayoría de las construcciones de programación, existen otros medios similares para lograr la misma funcionalidad o una funcionalidad similar de una interfase, la cual puede no haber estado descrita en el presente documento, pero sin embargo, están representados por el espíritu y alcance de la presente invención, es decir, deberá observarse que la funcionalidad esta por lo menos representada parcialmente por, y que los resultados ventajosos los hace posible una interfase que subyace al valor de una interfase Conclusión Aunque la presente invención ha sido descrita en un lenguaje especifico para características estructurales y/o las acciones metodológicas, deberá quedar entendido que la presente invención definida en las reivindicaciones adjuntas, no esta necesariamente limitada a las características y acciones especificas descritas En vez de ello, las características y acciones especificas se describen como formas de ejemplo para implementar la invención reclamada

Claims (1)

  1. REIVINDICACIONES 1 - Una interfase de programación incorporada en uno o mas medios legibles por computadora, la cual comprende un primer grupo de servicios relacionado con la generación de componentes gráficos, un segundo grupo de servicios relacionado con propiedades de enlace de una clase a una fuente de datos, y un tercer grupo de servicios relacionado con el contenido de formateo 2 - Una interfase de programación tal y como se describe en la reivindicación 1, caracterizada porque el primer grupo de servicio incluye un servicio que determina una apariencia de los componentes gráficos 3 - Una interfase de programación tal y como se describe en la reivindicación 1, caracterizada porque el primer grupo de servicios incluye un servicio que determina un comportamiento de los componentes gráficos 4 - Una inferíase de programación tal y como se describe en la reivindicación 1, caracterizada porque el primer grupo de servicios incluye un servicio que determina una adaptación de los componentes geográficos 5 - Una inferíase de programación tal y como se describe en la reivindicación 1, caracterizada porque el primer grupo de servicios incluye una pluralidad de controles de primitivas anidados que define los componentes gráficos 6 - Una interfase de programación tal y como se describe en la reivindicación 1, caracterizada porque los componente gráficos son definidos por gráficos de vector 7 - Una mterfase de programación tal y como se describe en la reivindicación 1, caracterizada porque comprende ademas un cuarto grupo de servicios relacionado con la animación de por lo menos un componente gráfico 8 - Una mterfase de programación tal y como se describe en la reivindicación 1, caracterizada porque comprende ademas un cuarto grupo de servicios relacionado con la creación de animaciones que tienen capacidades de navegación 9 - Una mterfase de programación tal y como se describe en la reivindicación 1, caracterizada porque comprende ademas un cuarto grupo de servicios relacionado con el soporte de los sistemas de procesamiento de tinta electrónica 10 - Una mterfase de programación tal y como se describe en la reivindicación 1, caracterizada porque comprende ademas un cuarto grupo de servicio relacionado con la combinación de una pluralidad de tipos de medios diferentes 11 - Una mterfase de programación tal y como se describe en la reivindicación 1, caracterizada porque comprende ademas un cuarto grupo de servicio relacionado con ejecutar aplicaciones en un cliente utilizando una interfase de tipo de buscador 12 - Una interfase de programación tal y como se describe en la reivindicación 1, caracterizada porque comprende ademas su cuarto grupo de servicios relacionado con la instalación y ejecución automática de una aplicación 13 - Una mterfase de programación tal y como se describe en la reivindicación 1, caracterizada porque comprende ademas un cuarto grupo de servicios relacionado con un contenido de señalización 14 - Una mterfase de programación tal y como se describe en la reivindicación 1, caracterizada porque comprende ademas un cuarto grupo de servicio relacionados con la automatización de la generación de una mterfase del usuario 15 - Una arquitectura de software que comprende la mterfase de programación tal y como se describe en la reivindicación 1 16 - Una mterfase de programación incorporada en uno o mas medios legibles por computadora, la cual comprende un primer grupo de servicios relacionado con el formateo del contenido antes de desplegar en pantalla el contenido, un segundo grupo de servicios relacionado con las propiedades de enlace de una clase a una fuente de datos, y un tercer grupo de servicios relacionado con la generación de efectos de imagen 17 - Una interfase de programación tal y como se describe en la reivindicación 16, caracterizada porque el primer grupo de servicios incluye la distribución de una pluralidad de elementos de datos 18 -- Una interfase de programación tal y como se describe en la reivindicación 16, caracterizada porque el tercer grupo de servicios incluye la animación de por lo menos una partida gráfica 19 - Una interfase de programación tal y como se describe en la reivindicación 16, caracterizada porque comprende ademas un cuarto grupo de servicios relacionado con la aplicación de animaciones para permitir que un usuario de la aplicación navegue entre una pluralidad de imágenes 20 - Una interfase de programación tal y como se describe en la reivindicación 16, caracterizada porque comprende ademas un cuarto grupo de servicios relacionado con la edición del contenido anteriormente creado 21 - Una interfase de programación tal y como se describe en la reivindicación 16, caracterizada porque comprende ademas un cuarto grupo de servicios relacionado con la administración de la entrada recibida desde un aparato de entrada 22 - Una interfase de programación tal y como se describe en la reivindicación 16, caracterizada porque comprende ademas un cuarto grupo de servicios relacionado con la habilitación de la interoperabihdad con otros sistemas de computo 23 - Un sistema de computo que incluye uno o mas microprocesadores y uno o mas programas de software, utilizando dicho uno o mas programas de software una interfase de programa de aplicación para solicitar servicios de un sistema operativo, incluyendo la interfase del programa de aplicación comandos separados para solicitar servicios que comprende los siguientes grupos de servicios un primer grupo de servicios relacionado con la generación de objetos gráficos, un segundo grupo de servicios relacionado con la creación de componentes de los objetos gráficos, y un tercer grupo de servicios relacionado con la modificación de una apariencia de los objetos gráficos 24 - Un sistema de computo tal y como se describe con la reivindicación 23, caracterizado porque el primer grupo de servicios incluye un servicio para definir un comportamiento de por lo menos un objeto gráfico 25 - Un sistema de computo tal y como se describe con la reivindicación 23, caracterizado porque el primer grupo de servicios incluye un servicio para definir la matriz de los objetos gráficos 26 - Un sistema de computo tal y como se describe con la reivindicación 23, caracterizado porque la modificación de una apariencia de los objetos gráficos incluye la animación de los objetos gráficos 27 - Un sistema de computo tal y como se describe con la rei indicación 23, caracterizado porque el segundo grupo de servicios incluye servicios para generar formas geométricas 28 - Un sistema de computo tal y como se describe con la reivindicación 23, caracterizado porque la interfase del programa de aplicación incluye ademas un cuarto grupo de servicios relacionado con el formateo de textos 29 - Un método el cual comprende invocar una o mas primeras funciones para facilitar los datos de formateo, invocar una o mas segundas funciones para facilitar la creación de objetos gráficos, e invocar una o mas terceras funciones para facilitar el cambio de una apariencia de los objetos gráficos 30 - Un método tal y como se describe en la reivindicación 29, caracterizado porque incluye ademas invocar una o mas cuartas funciones para facilitar la generación de una interfase del usuario que utiliza una pluralidad de objetos gráficos 31 - Un método tal y como se describe en la reivindicación 29, el cual incluye ademas invocar una o mas cuartas funciones para facilitar la creación del tiempo de ejecución de una interfase el usuario 32 Un método tal y como se describe en la reivindicación 29, el cual incluye ademas invocar una o mas cuartas funciones para facilitar la generación de una interfase del usuario utilizando una pluralidad de objetos gráficos, e invocar una o mas quintas funciones para facilitar la creación del tiempo de ejecución de la interfase del usuario 33 - Un método tal y como se describe en la reivindicación 29, caracterizado porque las primeras funciones facilitan recibir una entrada del usuario, y acomodar los elementos de datos en una pantalla 34 - Un método tal y como se describe en la reivindicación 29, caracterizado porque las segundas funciones facilitan la generación de formas geométricas 35 - Un método tal y como se describe en la reivindicación 29, caracterizado porque las segundas funciones facilitan la generación de por lo menos una forma geométrica y las terceras funciones facilitan la modificación de una apariencia de la forma geométrica 36 - Un sistema el cual comprende medios para exponer un primer conjunto de funciones que hacen posible la creación de una pluralidad de formas geométricas, medios para exponer un segundo conjunto de funciones que hace posible cambiar la manera en la cual están acomodadas las formas geométricas, y medios para exponer un tercer conjunto de funciones que hace posible la modificación de las apariencias de las formas geométricas 37 - Un método tal y como se describe en la reivindicación 36, caracterizado porque el segundo conjunto de funciones hace posible el acomodo adicional de las formas geométricas en una pagina que va a ser presentada 38 - Un sistema tal y como se describe en la reivindicación 36, caracterizado porque la pluralidad de formas geométricas incluye una linea 39 - Un sistema tal y como se describe en la reivindicación 36, caracterizado porque el tercer conjunto de funciones hace posible ademas la asociación de efectos de imagen con al menos una forma geométrica 40 - Un sistema tal y como se describe en la reivindicación 36, caracterizado porque el tercer conjunto de funciones hace posible el cambio adicional de una apariencia de una forma geométrica por un periodo de tiempo 41 - Un sistema tal y como se describe en la reivindicación 36, el cual comprende ademas medios para exponer un cuarto conjunto de funciones que hacen posible la generación de una interfase del usuario utilizando la pluralidad de formas geométricas 42 - Un sistema tal y como se describe en la reivindicación 36, el cual comprende ademas medios para exponer un cuarto conjunto de funciones que hace posible la asociación de los objetos gráficos con una o mas fuentes de datos 43 - Un sistema tal y como se describe en la rei indicación 36, el cual comprende ademas medios para exponer un cuarto conjunto de funciones que hacen posible el despliegue en pantalla de versiones de objetos geográficos específicos de datos 44 - Un método que comprende invocar una o mas primeras funciones para facilitar la creación de componentes de objetos gráficos, invocar una o mas segundas funciones para facilitar la generación de objeto gráficos, invocar una o mas terceras funciones para facilitar la modificación de una apariencia de los objetos gráficos, y invocar una o mas cuartas funciones para facilitar el acomodo de los objetos gráficos, e invocar una o mas quintas funciones para facilitar la asociación de los objetos gráficos con fuentes de datos 45 - Un método tal y como se describe en la reivindicación 44, el cual comprende ademas invocar una o mas sextas funciones para facilitar la navegación entre una pluralidad de pantallas de contenido 46 - Un método tal y como se describe en la rei indicación 44, caracterizado porque los componentes de los objetos gráficos incluyen una pluralidad de formas 47 - Un método tal y como se describe en la reivindicación 44, caracterizado porque las segundas funciones facilitan ademas la generación de una inferíase gráfica del usuario 48 - Un método tal y como se describe en la reivindicación 44, caracterizado porque las terceras funciones incluyen funciones que modifican la apariencia de un objeto gráfico particular 49 - Un método tal y como se describe en la reivindicación 44, caracterizado porque las terceras funciones incluyen funciones que modifican la apariencia de uno o mas componentes de un objeto gráfico 50 - Un método tal y como se describe en la reivindicación 44, caracterizado porque las terceras funciones incluyen funciones que mueven objetos gráficos a diferentes posiciones en una pantalla 51 - Un método tal y como se describe en la reivindicación 44, caracterizado porque las terceras funciones modifican una apariencia de un objeto gráfico en respuesta a una entrada del usuario 52 - Un método tal y como se describe en la reivindicación 44, caracterizado porque las cuartas funciones modifican una adaptación de los objetos gráficos en respuesta a la entrada del usuario 53 - Un método para desarrollar un programa, cuyo método comprende acceder a un primer grupo de funciones para seleccionar componentes de una imagen gráfica, acceder a un segundo grupo de funciones para generar la imagen gráfica, acceder a un tercer grupo de funciones para modificar una apariencia de por lo menos un componente de la imagen gráfica, y acceder a un cuarto grupo de funciones para formatear el contenido asociado con la imagen gráfica 54 - Un método tal y como se describe en la rei indicación 53, caracterizado porque la imagen gráfica es una interfase del usuario 55 - Un método tal y como se describe en la reivindicación 53, caracterizado porque el contenido es información textual 56 - Un método tal y como se describe en la reivindicación 53, caracterizado porque el contenido son datos gráficos 57 - Un método tal y como se describe en la reivindicación 53, el cual comprende ademas acceder a un quinto grupo de funciones para asociar un componente de la imagen gráfica con una fuente de datos 58 - Un método tal y como se describe en la reivindicación 53, caracterizado porque el tercer grupo de funciones modifica adicionalmente un comportamiento asociado con al menos un componente de la imagen gráfica
MXPA04008849A 2003-10-24 2004-09-10 Interfase de programacion para una plataforma de computo. MXPA04008849A (es)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/694,080 US20050091576A1 (en) 2003-10-24 2003-10-24 Programming interface for a computer platform

Publications (1)

Publication Number Publication Date
MXPA04008849A true MXPA04008849A (es) 2005-06-17

Family

ID=34465630

Family Applications (1)

Application Number Title Priority Date Filing Date
MXPA04008849A MXPA04008849A (es) 2003-10-24 2004-09-10 Interfase de programacion para una plataforma de computo.

Country Status (16)

Country Link
US (2) US20050091576A1 (es)
EP (1) EP1536327A3 (es)
JP (1) JP2005135384A (es)
KR (1) KR101031700B1 (es)
CN (1) CN100530083C (es)
AU (1) AU2004205327B2 (es)
BR (1) BRPI0407050A (es)
CA (1) CA2481590A1 (es)
IL (1) IL164072A (es)
MX (1) MXPA04008849A (es)
NO (1) NO20043781L (es)
NZ (1) NZ535217A (es)
RU (1) RU2371758C2 (es)
SG (1) SG111201A1 (es)
TW (1) TWI366105B (es)
ZA (1) ZA200407299B (es)

Families Citing this family (284)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6873337B1 (en) * 2000-04-06 2005-03-29 Microsoft Corporation Application programming interface for changing the visual style
US20010048448A1 (en) * 2000-04-06 2001-12-06 Raiz Gregory L. Focus state themeing
US6753885B2 (en) 2000-04-06 2004-06-22 Microsoft Corporation System and theme file format for creating visual styles
US20050091576A1 (en) * 2003-10-24 2005-04-28 Microsoft Corporation Programming interface for a computer platform
US9256356B2 (en) * 2001-03-29 2016-02-09 International Business Machines Corporation Method and system for providing feedback for docking a content pane in a host window
US6826729B1 (en) * 2001-06-29 2004-11-30 Microsoft Corporation Gallery user interface controls
US8132115B2 (en) * 2003-02-27 2012-03-06 Autodesk, Inc. Dynamic properties for software objects
US7313764B1 (en) * 2003-03-06 2007-12-25 Apple Inc. Method and apparatus to accelerate scrolling for buffered windows
US7155440B1 (en) * 2003-04-29 2006-12-26 Cadence Design Systems, Inc. Hierarchical data processing
US9715678B2 (en) 2003-06-26 2017-07-25 Microsoft Technology Licensing, Llc Side-by-side shared calendars
US8799808B2 (en) 2003-07-01 2014-08-05 Microsoft Corporation Adaptive multi-line view user interface
US7716593B2 (en) * 2003-07-01 2010-05-11 Microsoft Corporation Conversation grouping of electronic mail records
US7707255B2 (en) 2003-07-01 2010-04-27 Microsoft Corporation Automatic grouping of electronic mail
CA2443454A1 (en) * 2003-09-11 2005-03-11 Teamplate Inc. Data binding method in workflow system
CA2451164C (en) * 2003-09-11 2016-08-30 Teamplate Inc. Customizable components
US7219340B2 (en) * 2003-10-23 2007-05-15 Microsoft Corporation Changeable class and pattern to provide selective mutability in computer programming environments
US7187380B2 (en) * 2003-10-30 2007-03-06 Hewlett-Packard Development Company, L.P. Telecommunications graphical service program
US7216127B2 (en) * 2003-12-13 2007-05-08 International Business Machines Corporation Byte stream organization with improved random and keyed access to information structures
GB2411331A (en) * 2004-02-19 2005-08-24 Trigenix Ltd Rendering user interface using actor attributes
US7181464B2 (en) * 2004-02-20 2007-02-20 Microsoft Corporation Forward-only evaluation for XPATH inverse query processing
US8241905B2 (en) 2004-02-24 2012-08-14 The Curators Of The University Of Missouri Self-assembling cell aggregates and methods of making engineered tissue using the same
US20050204368A1 (en) * 2004-03-09 2005-09-15 Venu Ambekar Executable application interoperability and interface creation system
US20050229048A1 (en) * 2004-03-30 2005-10-13 International Business Machines Corporation Caching operational code in a voice markup interpreter
US20050231512A1 (en) * 2004-04-16 2005-10-20 Niles Gregory E Animation of an object using behaviors
JP2007536634A (ja) * 2004-05-04 2007-12-13 フィッシャー−ローズマウント・システムズ・インコーポレーテッド プロセス制御システムのためのサービス指向型アーキテクチャ
US8239749B2 (en) 2004-06-25 2012-08-07 Apple Inc. Procedurally expressing graphic objects for web pages
US9098476B2 (en) * 2004-06-29 2015-08-04 Microsoft Technology Licensing, Llc Method and system for mapping between structured subjects and observers
US7275211B2 (en) * 2004-07-02 2007-09-25 Cognos Incorporated Rendering page sets
US7411590B1 (en) * 2004-08-09 2008-08-12 Apple Inc. Multimedia file format
US7703036B2 (en) 2004-08-16 2010-04-20 Microsoft Corporation User interface for displaying selectable software functionality controls that are relevant to a selected object
US9015621B2 (en) 2004-08-16 2015-04-21 Microsoft Technology Licensing, Llc Command user interface for displaying multiple sections of software functionality controls
US8255828B2 (en) 2004-08-16 2012-08-28 Microsoft Corporation Command user interface for displaying selectable software functionality controls
US7895531B2 (en) * 2004-08-16 2011-02-22 Microsoft Corporation Floating command object
US8146016B2 (en) 2004-08-16 2012-03-27 Microsoft Corporation User interface for displaying a gallery of formatting options applicable to a selected object
US8117542B2 (en) 2004-08-16 2012-02-14 Microsoft Corporation User interface for displaying selectable software functionality controls that are contextually relevant to a selected object
US7707498B2 (en) * 2004-09-30 2010-04-27 Microsoft Corporation Specific type content manager in an electronic document
US7747966B2 (en) 2004-09-30 2010-06-29 Microsoft Corporation User interface for providing task management and calendar information
US7653721B1 (en) * 2004-10-29 2010-01-26 Sun Microsystems, Inc. Mechanism for capturing high level events on user interface components
US20060136877A1 (en) * 2004-12-22 2006-06-22 International Business Machines Corporation Method, system and program product for capturing a semantic level state of a program
US7730394B2 (en) * 2005-01-06 2010-06-01 Microsoft Corporation Data binding in a word-processing application
US7617234B2 (en) * 2005-01-06 2009-11-10 Microsoft Corporation XML schema for binding data
US7945590B2 (en) * 2005-01-06 2011-05-17 Microsoft Corporation Programmability for binding data
US7668873B2 (en) 2005-02-25 2010-02-23 Microsoft Corporation Data store for software application documents
US7752224B2 (en) 2005-02-25 2010-07-06 Microsoft Corporation Programmability for XML data store for documents
US7512892B2 (en) 2005-03-04 2009-03-31 Microsoft Corporation Method and system for displaying and interacting with paginated content
US7844958B2 (en) * 2005-03-11 2010-11-30 Aptana, Inc. System and method for creating target byte code
US9507919B2 (en) * 2005-04-22 2016-11-29 Microsoft Technology Licensing, Llc Rights management system for streamed multimedia content
US7386558B2 (en) * 2005-04-22 2008-06-10 Microsoft Corporation Methods and systems for filtering an Extensible Application Markup Language (XAML) file to facilitate indexing of the logical content contained therein
US8135750B2 (en) * 2005-04-22 2012-03-13 Microsoft Corporation Efficiently describing relationships between resources
CN101542457B (zh) * 2005-04-29 2015-11-25 微软技术许可有限责任公司 事务变换
US7587671B2 (en) * 2005-05-17 2009-09-08 Palm, Inc. Image repositioning, storage and retrieval
BRPI0622274A2 (pt) 2005-06-09 2011-08-09 Whirlpool Co aparelho configurado para executar um ciclo de operação para completar uma operação fìsica em um artigo e rede de aparelho
US7886290B2 (en) * 2005-06-16 2011-02-08 Microsoft Corporation Cross version and cross product user interface
US7853605B2 (en) * 2005-07-29 2010-12-14 Microsoft Corporation Auxiliary data provider
US8239882B2 (en) * 2005-08-30 2012-08-07 Microsoft Corporation Markup based extensibility for user interfaces
US8689137B2 (en) 2005-09-07 2014-04-01 Microsoft Corporation Command user interface for displaying selectable functionality controls in a database application
US7953696B2 (en) * 2005-09-09 2011-05-31 Microsoft Corporation Real-time synchronization of XML data between applications
US9542667B2 (en) 2005-09-09 2017-01-10 Microsoft Technology Licensing, Llc Navigating messages within a thread
US8627222B2 (en) 2005-09-12 2014-01-07 Microsoft Corporation Expanded search and find user interface
US7861219B2 (en) * 2005-09-12 2010-12-28 Microsoft Corporation Script application framework
US8392151B1 (en) * 2005-09-28 2013-03-05 The Mathworks, Inc. Preview of an object in graphical modeling environments
US8095565B2 (en) * 2005-12-05 2012-01-10 Microsoft Corporation Metadata driven user interface
US7603260B2 (en) * 2005-12-29 2009-10-13 Sap Ag Object model for initiating physical operations
US7987456B2 (en) * 2006-01-24 2011-07-26 Microsoft Corporation Qualitatively annotated code
US7818660B2 (en) * 2006-01-29 2010-10-19 Litera Technology Llc Method of compound document comparison
US8601437B2 (en) * 2006-02-15 2013-12-03 Microsoft Corporation Reusable component data persistence using a markup language
US20070211056A1 (en) * 2006-03-08 2007-09-13 Sudip Chakraborty Multi-dimensional data visualization
KR100754211B1 (ko) * 2006-03-15 2007-09-03 삼성전자주식회사 멀티태스킹을 위한 사용자 인터페이스 방법 및 그 방법을수행하는 프로그램을 기록한 컴퓨터 판독 가능한 기록매체
CN101410839B (zh) * 2006-04-12 2012-10-10 国际商业机器公司 调节客户端设备的功能的环境设置的方法和系统
DE102006019917B4 (de) * 2006-04-28 2013-10-10 Airbus Operations Gmbh Verfahren und Vorrichtung zur Sicherung der Maßhaltigkeit von mehrsegmentigen Konstruktionsstrukturen beim Zusammenbau
WO2007134265A2 (en) * 2006-05-12 2007-11-22 Captaris, Inc. Workflow data binding
US9727989B2 (en) 2006-06-01 2017-08-08 Microsoft Technology Licensing, Llc Modifying and formatting a chart using pictorially provided chart elements
US8605090B2 (en) * 2006-06-01 2013-12-10 Microsoft Corporation Modifying and formatting a chart using pictorially provided chart elements
US7783686B2 (en) * 2006-06-16 2010-08-24 Microsoft Corporation Application program interface to manage media files
US7865481B2 (en) * 2006-06-29 2011-01-04 International Business Machines Corporation Changing documents to include changes made to schemas
US20090024958A1 (en) * 2006-08-09 2009-01-22 Kyocera Mita Corporation Program product including display control program and computer-readable media, display device, display control method, and image forming apparatus
JP4143661B2 (ja) * 2006-09-11 2008-09-03 インターナショナル・ビジネス・マシーンズ・コーポレーション テスト用リソース・ファイル及びテスト用フォントを用いた国際化ソフトウェアのテスト方法、装置及びプログラム
US20080091409A1 (en) * 2006-10-16 2008-04-17 Microsoft Corporation Customizable mathematic expression parser and evaluator
TWI396133B (zh) * 2006-10-24 2013-05-11 Sino Wealth Electronic Ltd 程式碼自動生成裝置及方法
KR101288970B1 (ko) * 2006-11-28 2013-07-24 삼성전자주식회사 렌더링 장치 및 방법
GB0624582D0 (en) * 2006-12-08 2007-01-17 Visible Computing Ltd USB autorun devices
KR100827241B1 (ko) * 2006-12-18 2008-05-07 삼성전자주식회사 동적 영상물을 생성하기 위한 템플릿을 편집하는 장치 및방법
US8732595B2 (en) * 2007-01-18 2014-05-20 Sap Ag Condition editor for business process management and business activity monitoring
US7761783B2 (en) * 2007-01-19 2010-07-20 Microsoft Corporation Document performance analysis
US7676524B2 (en) 2007-01-31 2010-03-09 Microsoft Corporation Hierarchical cursor-based object model
US20080186307A1 (en) * 2007-02-05 2008-08-07 Yaron Leifenberg Method and a protocol for describing procedural content for games
US8347206B2 (en) * 2007-03-15 2013-01-01 Microsoft Corporation Interactive image tagging
US20080256514A1 (en) * 2007-04-10 2008-10-16 Microsoft Corporation Side-by-side application manifests for single-purpose applications
US8650489B1 (en) * 2007-04-20 2014-02-11 Adobe Systems Incorporated Event processing in a content editor
US9547415B2 (en) * 2007-04-30 2017-01-17 Oracle International Corporation Suite-wide navigation
US8386923B2 (en) 2007-05-08 2013-02-26 Canon Kabushiki Kaisha Document generation apparatus, method, and storage medium
US8156509B2 (en) * 2007-06-05 2012-04-10 International Business Machines Corporation Exchanging data using data transformation
US8065628B2 (en) 2007-06-25 2011-11-22 Microsoft Corporation Dynamic user interface for previewing live content
US8041120B2 (en) * 2007-06-26 2011-10-18 Microsoft Corporation Unified digital ink recognition
US8094939B2 (en) 2007-06-26 2012-01-10 Microsoft Corporation Digital ink-based search
US8315482B2 (en) * 2007-06-26 2012-11-20 Microsoft Corporation Integrated platform for user input of digital ink
US8201103B2 (en) 2007-06-29 2012-06-12 Microsoft Corporation Accessing an out-space user interface for a document editor program
US8762880B2 (en) * 2007-06-29 2014-06-24 Microsoft Corporation Exposing non-authoring features through document status information in an out-space user interface
US8232901B2 (en) * 2007-06-29 2012-07-31 International Business Machines Corporation Determining an alternative character string
US8484578B2 (en) 2007-06-29 2013-07-09 Microsoft Corporation Communication between a document editor in-space user interface and a document editor out-space user interface
JP4342578B2 (ja) * 2007-07-24 2009-10-14 株式会社エヌ・ティ・ティ・ドコモ 情報処理装置およびプログラム
US20090037829A1 (en) * 2007-08-01 2009-02-05 Microsoft Corporation Framework to integrate web services with on-premise software
US20090132919A1 (en) * 2007-11-15 2009-05-21 International Business Machines Corporation Appending Hover Help to Hover Help for a User Interface
US8914774B1 (en) 2007-11-15 2014-12-16 Appcelerator, Inc. System and method for tagging code to determine where the code runs
US20090132994A1 (en) * 2007-11-16 2009-05-21 Microsoft Corporation Automation tool and method for generating test code
US8954989B1 (en) 2007-11-19 2015-02-10 Appcelerator, Inc. Flexible, event-driven JavaScript server architecture
US8260845B1 (en) 2007-11-21 2012-09-04 Appcelerator, Inc. System and method for auto-generating JavaScript proxies and meta-proxies
US8566807B1 (en) 2007-11-23 2013-10-22 Appcelerator, Inc. System and method for accessibility of document object model and JavaScript by other platforms
US8719451B1 (en) 2007-11-23 2014-05-06 Appcelerator, Inc. System and method for on-the-fly, post-processing document object model manipulation
US8756579B1 (en) 2007-12-03 2014-06-17 Appcelerator, Inc. Client-side and server-side unified validation
US8819539B1 (en) 2007-12-03 2014-08-26 Appcelerator, Inc. On-the-fly rewriting of uniform resource locators in a web-page
US8806431B1 (en) 2007-12-03 2014-08-12 Appecelerator, Inc. Aspect oriented programming
US8527860B1 (en) 2007-12-04 2013-09-03 Appcelerator, Inc. System and method for exposing the dynamic web server-side
US8938491B1 (en) 2007-12-04 2015-01-20 Appcelerator, Inc. System and method for secure binding of client calls and server functions
US8285813B1 (en) 2007-12-05 2012-10-09 Appcelerator, Inc. System and method for emulating different user agents on a server
US8335982B1 (en) 2007-12-05 2012-12-18 Appcelerator, Inc. System and method for binding a document object model through JavaScript callbacks
US8639743B1 (en) 2007-12-05 2014-01-28 Appcelerator, Inc. System and method for on-the-fly rewriting of JavaScript
US20090158181A1 (en) * 2007-12-18 2009-06-18 Mellmo Llc User interface method and apparatus to navigate a document file
US8473276B2 (en) * 2008-02-19 2013-06-25 Google Inc. Universal language input
US20090235161A1 (en) * 2008-03-15 2009-09-17 Microsoft Corporation Lossless Web-Based Editor For Complex Documents
US9753712B2 (en) 2008-03-20 2017-09-05 Microsoft Technology Licensing, Llc Application management within deployable object hierarchy
US9110685B2 (en) 2008-03-25 2015-08-18 Qualcomm, Incorporated Apparatus and methods for managing widgets in a wireless communication environment
US9069575B2 (en) 2008-03-25 2015-06-30 Qualcomm Incorporated Apparatus and methods for widget-related memory management
US9747141B2 (en) * 2008-03-25 2017-08-29 Qualcomm Incorporated Apparatus and methods for widget intercommunication in a wireless communication environment
US9600261B2 (en) * 2008-03-25 2017-03-21 Qualcomm Incorporated Apparatus and methods for widget update scheduling
US9269059B2 (en) * 2008-03-25 2016-02-23 Qualcomm Incorporated Apparatus and methods for transport optimization for widget content delivery
US9588781B2 (en) 2008-03-31 2017-03-07 Microsoft Technology Licensing, Llc Associating command surfaces with multiple active components
US8438539B2 (en) * 2008-04-11 2013-05-07 International Business Machines Corporation Using a menu slideshow framework for generating a custom menu-driven slideshow containing definable content
US9052924B2 (en) * 2008-04-15 2015-06-09 Microsoft Technology Licensing, Llc Light-weight managed composite control hosting
US8490050B2 (en) * 2008-04-17 2013-07-16 Microsoft Corporation Automatic generation of user interfaces
US8140593B2 (en) * 2008-05-15 2012-03-20 Microsoft Corporation Data viewer management
US8291079B1 (en) 2008-06-04 2012-10-16 Appcelerator, Inc. System and method for developing, deploying, managing and monitoring a web application in a single environment
US8880678B1 (en) 2008-06-05 2014-11-04 Appcelerator, Inc. System and method for managing and monitoring a web application using multiple cloud providers
US20090315894A1 (en) * 2008-06-18 2009-12-24 Microsoft Corporation Browser-independent animation engines
US9665850B2 (en) 2008-06-20 2017-05-30 Microsoft Technology Licensing, Llc Synchronized conversation-centric message list and message reading pane
US8143055B2 (en) 2008-06-24 2012-03-27 The Curators Of The University Of Missouri Self-assembling multicellular bodies and methods of producing a three-dimensional biological structure using the same
US9081590B2 (en) * 2008-06-24 2015-07-14 Microsoft Technology Licensing, Llc Multimodal input using scratchpad graphical user interface to edit speech text input with keyboard input
US8402096B2 (en) 2008-06-24 2013-03-19 Microsoft Corporation Automatic conversation techniques
CN101296198B (zh) * 2008-06-25 2010-07-14 腾讯科技(深圳)有限公司 一种在即时通信窗口中插入丰富界面元素的方法及客户端
US9471406B2 (en) * 2008-07-09 2016-10-18 International Business Machines Corporation Remote product invocation framework
US9639331B2 (en) 2008-07-09 2017-05-02 International Business Machines Corporation Service interface creation and modification for object-oriented services
US7596620B1 (en) 2008-11-04 2009-09-29 Aptana, Inc. System and method for developing, deploying, managing and monitoring a web application in a single environment
US8294723B2 (en) 2008-11-07 2012-10-23 Google Inc. Hardware-accelerated graphics for web applications using native code modules
US8675000B2 (en) * 2008-11-07 2014-03-18 Google, Inc. Command buffers for web-based graphics rendering
US8478798B2 (en) * 2008-11-10 2013-07-02 Google Inc. Filesystem access for web applications and native code modules
US7984332B2 (en) * 2008-11-17 2011-07-19 Microsoft Corporation Distributed system checker
US8495074B2 (en) 2008-12-30 2013-07-23 Apple Inc. Effects application based on object clustering
US8639086B2 (en) 2009-01-06 2014-01-28 Adobe Systems Incorporated Rendering of video based on overlaying of bitmapped images
US10685177B2 (en) * 2009-01-07 2020-06-16 Litera Corporation System and method for comparing digital data in spreadsheets or database tables
US8799790B2 (en) * 2009-02-18 2014-08-05 Kyocera Document Solutions Inc. Computer-readable recording medium storing driver program, image forming system, image forming apparatus, method for controlling image forming apparatus, and driver program
US20100235769A1 (en) * 2009-03-16 2010-09-16 Microsoft Corporation Smooth layout animation of continuous and non-continuous properties
US8136031B2 (en) 2009-03-17 2012-03-13 Litera Technologies, LLC Comparing the content of tables containing merged or split cells
WO2010107476A1 (en) * 2009-03-19 2010-09-23 Duke University Inhibiting gsnor
US8799353B2 (en) * 2009-03-30 2014-08-05 Josef Larsson Scope-based extensibility for control surfaces
US9046983B2 (en) 2009-05-12 2015-06-02 Microsoft Technology Licensing, Llc Hierarchically-organized control galleries
US8797337B1 (en) 2009-07-02 2014-08-05 Google Inc. Graphics scenegraph rendering for web applications using native code modules
US20110119479A1 (en) * 2009-11-17 2011-05-19 Robert Cowie EOOBE-Application to collect information for new computer and manufacturing process
US9137206B2 (en) 2009-11-20 2015-09-15 International Business Machines Corporation Service registry for saving and restoring a faceted selection
US20110126113A1 (en) * 2009-11-23 2011-05-26 c/o Microsoft Corporation Displaying content on multiple web pages
CN101719902B (zh) * 2009-12-04 2014-07-30 深圳创维数字技术股份有限公司 一种远程过程调用方法和系统
US8631333B2 (en) 2010-06-07 2014-01-14 Microsoft Corporation Feature set differentiation by tenant and user
US8302014B2 (en) 2010-06-11 2012-10-30 Microsoft Corporation Merging modifications to user interface components while preserving user customizations
US9213661B2 (en) * 2010-06-23 2015-12-15 International Business Machines Corporation Enable/disable adapters of a computing environment
CN101876917A (zh) * 2010-07-02 2010-11-03 深圳市迅雷网络技术有限公司 一种开发控件的方法及装置
KR20120010047A (ko) * 2010-07-23 2012-02-02 삼성전자주식회사 이메일 처리 방법 및 장치
US9013488B2 (en) 2010-10-19 2015-04-21 Apple Inc. Grouping items in a folder
CN101957759B (zh) * 2010-10-21 2013-02-06 江苏科技大学 一种sdk接口转换系统及其实现方法
DK2629975T3 (da) 2010-10-21 2022-05-09 Organovo Inc Anordninger til fremstilling af væv
US8793706B2 (en) 2010-12-16 2014-07-29 Microsoft Corporation Metadata-based eventing supporting operations on data
US20120159395A1 (en) 2010-12-20 2012-06-21 Microsoft Corporation Application-launching interface for multiple modes
US8689123B2 (en) 2010-12-23 2014-04-01 Microsoft Corporation Application reporting in an application-selectable user interface
US20110119575A1 (en) * 2010-12-28 2011-05-19 Whitmyer Jr Wesley W Fit-to function for document processing
US9104307B2 (en) 2011-05-27 2015-08-11 Microsoft Technology Licensing, Llc Multi-application environment
US9158445B2 (en) 2011-05-27 2015-10-13 Microsoft Technology Licensing, Llc Managing an immersive interface in a multi-application immersive environment
US8893033B2 (en) * 2011-05-27 2014-11-18 Microsoft Corporation Application notifications
CN102810041B (zh) * 2011-06-02 2015-11-18 深圳市金蝶友商电子商务服务有限公司 一种多文档界面的转换方法以及相关装置
US20130031076A1 (en) * 2011-07-28 2013-01-31 Kikin, Inc. Systems and methods for contextual searching of semantic entities
US20130055200A1 (en) * 2011-08-30 2013-02-28 Microsoft Corporation Application interface for object build information
US20130057587A1 (en) 2011-09-01 2013-03-07 Microsoft Corporation Arranging tiles
US8922575B2 (en) 2011-09-09 2014-12-30 Microsoft Corporation Tile cache
US10353566B2 (en) 2011-09-09 2019-07-16 Microsoft Technology Licensing, Llc Semantic zoom animations
US9146670B2 (en) 2011-09-10 2015-09-29 Microsoft Technology Licensing, Llc Progressively indicating new content in an application-selectable user interface
RU2466452C1 (ru) * 2011-09-14 2012-11-10 Российская Федерация, от имени которой выступает Министерство промышленности и торговли Российской Федерации (Минпромторг РФ) Конвейерная система автоматизированного конструирования с виртуальными рабочими местами
US20130110661A1 (en) * 2011-10-28 2013-05-02 Microsoft Corporation Application store delivered platform components
US8954475B2 (en) * 2011-11-10 2015-02-10 Microsoft Technology Licensing, Llc Deep cloning of objects using binary format
US8775936B2 (en) * 2011-12-13 2014-07-08 International Business Machines Corporation Displaying dynamic and shareable help data for images a distance from a pointed-to location
US8942489B2 (en) 2012-01-23 2015-01-27 Microsoft Corporation Vector graphics classification engine
CN104094282B (zh) 2012-01-23 2017-11-21 微软技术许可有限责任公司 无边框表格检测引擎
US9499779B2 (en) 2012-04-20 2016-11-22 Organovo, Inc. Devices, systems, and methods for the fabrication of tissue utilizing UV cross-linking
US10109255B2 (en) 2012-06-05 2018-10-23 Apple Inc. Method, system and apparatus for dynamically generating map textures
US9349205B2 (en) 2012-06-08 2016-05-24 Apple Inc. Systems and methods for animating between collection views
US9342518B1 (en) * 2012-06-21 2016-05-17 Emc Corporation Declaring directives in a data store
CN104471913B (zh) 2012-07-13 2017-12-05 华为技术有限公司 指示和处理内容传输和传送中的内容加密和权限管理
CN103678340B (zh) * 2012-09-07 2016-09-14 腾讯科技(深圳)有限公司 浏览器引擎的运行方法、装置、浏览器及终端
US20140136937A1 (en) * 2012-11-09 2014-05-15 Microsoft Corporation Providing and procuring worksheet functions through an online marketplace
US9953008B2 (en) 2013-01-18 2018-04-24 Microsoft Technology Licensing, Llc Grouping fixed format document elements to preserve graphical data semantics after reflow by manipulating a bounding box vertically and horizontally
US9380431B1 (en) 2013-01-31 2016-06-28 Palantir Technologies, Inc. Use of teams in a mobile application
US9552347B1 (en) * 2013-02-26 2017-01-24 Ca, Inc. Data grid cell styling systems and methods
US9575634B2 (en) * 2013-03-04 2017-02-21 Facebook, Inc. Techniques for asynchronous rendering
US10346501B2 (en) 2013-03-13 2019-07-09 International Business Machines Corporation Mobile enablement of existing web sites
US9563448B2 (en) * 2013-03-13 2017-02-07 International Business Machines Corporation Mobilizing a web application to take advantage of a native device capability
US9426201B2 (en) 2013-03-13 2016-08-23 International Business Machines Corporation Transforming application cached template using personalized content
US10083156B2 (en) 2013-03-13 2018-09-25 International Business Machines Corporation Mobile enablement of webpages
US20140272886A1 (en) * 2013-03-14 2014-09-18 Patrick H. Vane System and Method for Gamefied Rapid Application Development Environment
US20150279233A1 (en) * 2013-03-14 2015-10-01 Patrick H. Vane System and Method for Gamefied Rapid Application Development Environment
US10037314B2 (en) 2013-03-14 2018-07-31 Palantir Technologies, Inc. Mobile reports
US9305374B2 (en) * 2013-03-15 2016-04-05 Apple Inc. Device, method, and graphical user interface for adjusting the appearance of a control
US9442105B2 (en) 2013-03-15 2016-09-13 Organovo, Inc. Engineered liver tissues, arrays thereof, and methods of making the same
US8990839B2 (en) 2013-04-22 2015-03-24 Microsoft Technology Licensing, Llc Controlling runtime access to application programming interfaces
CN103279541B (zh) * 2013-06-04 2016-08-31 天津市天安怡和信息技术有限公司 一种降低网页浏览器加载负载的方法及其装置
US9734174B1 (en) * 2013-06-28 2017-08-15 Google Inc. Interactive management of distributed objects
US9276855B1 (en) * 2013-07-16 2016-03-01 Google Inc. Systems and methods for providing navigation filters
AU2014296246B2 (en) 2013-07-31 2021-01-21 Organovo, Inc. Automated devices, systems, and methods for the fabrication of tissue
US9058375B2 (en) * 2013-10-09 2015-06-16 Smart Screen Networks, Inc. Systems and methods for adding descriptive metadata to digital content
US9530233B2 (en) * 2013-10-10 2016-12-27 Adobe Systems Incorporated Action records associated with editable content objects
US8868537B1 (en) 2013-11-11 2014-10-21 Palantir Technologies, Inc. Simple web search
US9378276B1 (en) * 2014-01-03 2016-06-28 Google Inc. Systems and methods for generating navigation filters
EP3099011B1 (en) 2014-02-26 2019-07-03 Huawei Technologies Co., Ltd. Interface management service entity, functional service entity and network element management method
US9727376B1 (en) 2014-03-04 2017-08-08 Palantir Technologies, Inc. Mobile tasks
US10831731B2 (en) * 2014-03-12 2020-11-10 Dell Products L.P. Method for storing and accessing data into an indexed key/value pair for offline access
CA2944723C (en) 2014-04-04 2023-03-14 Organovo, Inc. Engineered three-dimensional breast tissue, adipose tissue, and tumor disease model
TWI509496B (zh) * 2014-08-12 2015-11-21 Noodoe Corp 電子裝置之頁面管理方法及系統,及相關電腦程式產品
CN105446788B (zh) * 2014-08-20 2019-01-11 联想(北京)有限公司 一种信息处理方法及电子设备
JP2017529877A (ja) 2014-10-06 2017-10-12 オルガノボ インコーポレイテッド 人工の腎臓組織、そのアレイ、およびその作製方法
US20160122723A1 (en) 2014-11-05 2016-05-05 Organovo, Inc. Engineered three-dimensional skin tissues, arrays thereof, and methods of making the same
CN104408120B (zh) * 2014-11-26 2019-04-12 北京国双科技有限公司 源代码的处理方法及装置
CN105159524A (zh) * 2015-08-03 2015-12-16 小米科技有限责任公司 界面显示方法及装置
US10296617B1 (en) 2015-10-05 2019-05-21 Palantir Technologies Inc. Searches of highly structured data
US10200298B2 (en) * 2015-10-26 2019-02-05 Knowlio, Inc. Array generation in a resource management system
AU2016352873B2 (en) 2015-11-09 2023-01-05 Organovo, Inc. Improved methods for tissue fabrication
CN105302445B (zh) * 2015-11-12 2019-07-23 小米科技有限责任公司 图形用户界面绘制方法及装置
US10558345B2 (en) 2015-11-16 2020-02-11 Sap Se User interface development in a transcompiling environment
JP6566850B2 (ja) * 2015-11-30 2019-08-28 キヤノン株式会社 情報処理システム、情報処理システムの制御方法、情報処理装置およびプログラム
CN112516605B (zh) * 2016-03-31 2022-06-14 贝尔合控(深圳)科技有限责任公司 模块化组件系统
US10466863B1 (en) * 2016-06-01 2019-11-05 Google Llc Predictive insertion of graphical objects in a development environment
US10104187B2 (en) * 2016-06-15 2018-10-16 Futurewei Technologies, Inc. System, computer program, and method for dividing services into subsets based on interdependencies
US10853412B2 (en) * 2016-06-16 2020-12-01 Guangdong Oppo Mobile Telecommunications Corp., Ltd. Scenario-based sound effect control method and electronic device
RU2638779C1 (ru) * 2016-08-05 2017-12-15 Общество С Ограниченной Ответственностью "Яндекс" Способ и сервер для вьполнения авторизации приложения на электронном устройстве
CN106648813B (zh) * 2016-09-19 2020-01-10 南京航空航天大学 一种同步数据流程序的形式化编译方法
EP3538169A4 (en) 2016-11-10 2020-09-30 Organovo, Inc. BIO-PRINTED PILEUX FOLLICLES AND THEIR USES
US10365898B2 (en) * 2016-11-15 2019-07-30 Palantir Technologies Inc. Multi-platform interface framework
CN106775934B (zh) * 2016-11-29 2020-12-11 北京元心科技有限公司 基于多系统的输入输出方法及装置
US11995428B2 (en) 2017-01-26 2024-05-28 Nice Inc. Method and system for providing image-based interoperability with an application
US10133953B2 (en) * 2017-01-26 2018-11-20 Nice Ltd. System and method for enabling graphic-based interoperability with a run-time application
US10540167B2 (en) 2017-01-26 2020-01-21 Nice Ltd. Image based method and system for building object model and application states comparison and graphic-based interoperability with an application
US10740123B2 (en) 2017-01-26 2020-08-11 Nice Ltd. Method and system for accessing table content in a digital image of the table
US10671602B2 (en) * 2017-05-09 2020-06-02 Microsoft Technology Licensing, Llc Random factoid generation
CN108984221B (zh) * 2017-05-31 2021-07-20 北京京东尚科信息技术有限公司 一种多平台用户行为日志的采集方法和装置
IL299258B1 (en) * 2017-06-08 2024-07-01 Wix Com Ltd A system and method for intelligent interactions between components on websites
CN109101297B (zh) * 2017-06-20 2021-08-13 北京国双科技有限公司 一种页面的标识方法及装置
US10810004B2 (en) * 2017-06-30 2020-10-20 Oracle International Corporation System and method for managing a public software component ecosystem using a distributed ledger
RU2681408C2 (ru) * 2017-08-22 2019-03-06 Александр Павлович Соколов Способ и система графо-ориентированного создания масштабируемых и сопровождаемых программных реализаций сложных вычислительных методов
CN109558739B (zh) * 2017-09-26 2022-04-15 腾讯科技(深圳)有限公司 程序运行方法、装置、终端及可读介质
RU2668738C1 (ru) * 2017-11-15 2018-10-02 Общество с ограниченной ответственностью "УМИКОН" Способ и система для визуального создания программ для вычислительных устройств
US10963144B2 (en) * 2017-12-07 2021-03-30 Microsoft Technology Licensing, Llc Graphically organizing content in a user interface to a software application
EP3506033A1 (de) 2017-12-27 2019-07-03 Siemens Aktiengesellschaft Verfahren zur rechnergestützten verarbeitung von betriebsdaten eines technischen systems
US10984079B2 (en) * 2018-01-25 2021-04-20 Oracle International Corporation Integrated context-aware software applications
CN110362412A (zh) * 2018-04-09 2019-10-22 华为技术有限公司 一种服务api调用方法和相关装置
US10665008B2 (en) * 2018-05-31 2020-05-26 Microsoft Technology Licensing, Llc Hybrid traversal of object sets
CN108829339A (zh) * 2018-06-28 2018-11-16 上海哔哩哔哩科技有限公司 基于键盘光标的特殊交互元素编辑方法、装置和存储介质
TWI718429B (zh) * 2018-10-25 2021-02-11 國立清華大學 適應性調整使用者介面中資訊量的方法及其電子裝置
KR102136661B1 (ko) * 2018-11-01 2020-07-22 주식회사 한글과컴퓨터 전자 문서에 삽입된 개체들에 대한 손쉬운 깊이 조정을 가능하게 하는 전자 단말 장치 및 그 동작 방법
KR102144354B1 (ko) * 2018-11-05 2020-08-13 주식회사 한글과컴퓨터 전자 문서에 삽입된 개체에 대한 손쉬운 선택 및 조정을 가능하게 하는 전자 단말 장치 및 그 동작 방법
US11232172B2 (en) * 2018-12-04 2022-01-25 Sap Se Collaborative web application and data system
CN111381897B (zh) * 2018-12-28 2024-05-17 北京字节跳动网络技术有限公司 一种接口调用方法、装置、移动终端及存储介质
KR102187540B1 (ko) * 2019-01-04 2020-12-07 주식회사 한글과컴퓨터 문서 상에서 겹쳐진 개체에 대한 손쉬운 편집을 지원하는 전자 단말 장치 및 그 동작 방법
US10768901B2 (en) * 2019-01-16 2020-09-08 Accenture Global Solutions Limited Converting code of a first code type on a mainframe device in phases to code of a second code type
CN109951384A (zh) * 2019-01-24 2019-06-28 无锡帮趣数据服务有限公司 一种api网关系统灵活管理的使用方法
US10997192B2 (en) 2019-01-31 2021-05-04 Splunk Inc. Data source correlation user interface
KR102187544B1 (ko) * 2019-03-25 2020-12-07 주식회사 한글과컴퓨터 전자 문서에 존재하는 겹쳐진 개체에 대한 직관적 선택을 가능하게 하는 전자 장치 및 그 동작 방법
US11194564B1 (en) 2019-04-29 2021-12-07 Splunk Inc. Maintaining compatibility in a multi-component application
US10754638B1 (en) 2019-04-29 2020-08-25 Splunk Inc. Enabling agile functionality updates using multi-component application
US11537586B2 (en) * 2019-06-06 2022-12-27 Microsoft Technology Licensing, Llc Detection of layout table(s) by a screen reader
US11120205B2 (en) * 2019-09-09 2021-09-14 Adobe Inc. Reviewing document designs
US11151125B1 (en) 2019-10-18 2021-10-19 Splunk Inc. Efficient updating of journey instances detected within unstructured event data
US11269876B1 (en) 2020-04-30 2022-03-08 Splunk Inc. Supporting graph data structure transformations in graphs generated from a query to event data
CN111858368B (zh) * 2020-07-27 2022-11-25 成都新潮传媒集团有限公司 数据处理方法、装置及存储介质
US11741131B1 (en) 2020-07-31 2023-08-29 Splunk Inc. Fragmented upload and re-stitching of journey instances detected within event data
TWI776215B (zh) * 2020-08-24 2022-09-01 奇蹟行動科技有限公司 產生使用者介面的描述碼之方法、系統及非暫態電腦可讀取儲存媒體
CN112464463B (zh) * 2020-11-23 2022-09-06 上海交通大学 基于飞行过程的面向参数功能模型的仿真实现方法
US11790110B2 (en) 2021-02-09 2023-10-17 Nice Ltd. System and method for preventing sensitive information from being recorded
CN113094791B (zh) * 2021-04-13 2024-02-20 笔天科技(广州)有限公司 一种基于矩阵运算的建筑数据分析处理方法
CN113778398B (zh) * 2021-09-28 2024-05-14 北京达佳互联信息技术有限公司 代码生成方法、装置、电子设备及存储介质
US11632107B1 (en) 2021-10-01 2023-04-18 Psemi Corporation Gate resistive ladder bypass for RF FET switch stack

Family Cites Families (73)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5327529A (en) * 1990-09-24 1994-07-05 Geoworks Process of designing user's interfaces for application programs
US5655093A (en) * 1992-03-06 1997-08-05 Borland International, Inc. Intelligent screen cursor
JP2522898B2 (ja) * 1992-09-08 1996-08-07 インターナショナル・ビジネス・マシーンズ・コーポレイション 動的カストマイズ方法及びグラフィックリソ―ス・エディタ
JP2639308B2 (ja) * 1992-11-19 1997-08-13 富士電機株式会社 力センサ,温度センサおよび温度・力センサ装置
US5596702A (en) * 1993-04-16 1997-01-21 International Business Machines Corporation Method and system for dynamically sharing user interface displays among a plurality of application program
US6014138A (en) * 1994-01-21 2000-01-11 Inprise Corporation Development system with methods for improved visual programming with hierarchical object explorer
EP0760125B1 (en) * 1994-05-16 2002-04-03 Apple Computer, Inc. A system and method for customizing appearance and behavior of graphical user interfaces
US6404433B1 (en) * 1994-05-16 2002-06-11 Apple Computer, Inc. Data-driven layout engine
EP1156416A3 (en) * 1994-05-16 2007-07-18 Apple Computer, Inc. A method for editing a theme associated with a graphical user interface (GUI)
US6243102B1 (en) * 1994-05-16 2001-06-05 Apple Computer, Inc. Data-driven layout engine
US5880729A (en) * 1994-05-16 1999-03-09 Apple Computer, Inc. Graphical user interfaces having animated control elements
US5504892A (en) * 1994-09-08 1996-04-02 Taligent, Inc. Extensible object-oriented file system
US5745762A (en) * 1994-12-15 1998-04-28 International Business Machines Corporation Advanced graphics driver architecture supporting multiple system emulations
JPH08286916A (ja) * 1994-12-16 1996-11-01 Internatl Business Mach Corp <Ibm> オブジェクトにより手続きソフトウェアを機能的に改良するシステム及び方法
US5986667A (en) * 1994-12-22 1999-11-16 Apple Computer, Inc. Mechanism for rendering scenes using an object drawing subsystem
US5862379A (en) * 1995-03-07 1999-01-19 International Business Machines Corporation Visual programming tool for developing software applications
US6307574B1 (en) * 1995-05-08 2001-10-23 Apple Computer, Inc. Graphical user interface with hierarchical structure for customizable menus and control objects
US5838317A (en) * 1995-06-30 1998-11-17 Microsoft Corporation Method and apparatus for arranging displayed graphical representations on a computer interface
US5872973A (en) * 1995-10-26 1999-02-16 Viewsoft, Inc. Method for managing dynamic relations between objects in dynamic object-oriented languages
US5917487A (en) * 1996-05-10 1999-06-29 Apple Computer, Inc. Data-driven method and system for drawing user interface objects
US5794470A (en) * 1996-06-25 1998-08-18 P.L. Porter Co. Mechanical seat lock
US5893107A (en) * 1996-07-01 1999-04-06 Microsoft Corporation Method and system for uniformly accessing multiple directory services
US6128007A (en) * 1996-07-29 2000-10-03 Motorola, Inc. Method and apparatus for multi-mode handwritten input and hand directed control of a computing device
US5905492A (en) * 1996-12-06 1999-05-18 Microsoft Corporation Dynamically updating themes for an operating system shell
US6137492A (en) * 1997-04-03 2000-10-24 Microsoft Corporation Method and system for adaptive refinement of progressive meshes
US6262729B1 (en) * 1997-04-14 2001-07-17 Apple Computer, Inc. Method and apparatus for binding user interface objects to application objects
US6215495B1 (en) * 1997-05-30 2001-04-10 Silicon Graphics, Inc. Platform independent application program interface for interactive 3D scene management
US6072501A (en) * 1997-06-27 2000-06-06 Xerox Corporation Method and apparatus for composing layered synthetic graphics filters
US5974470A (en) * 1997-09-03 1999-10-26 Chicago-Soft, Ltd. System for reducing conflicts among dynamic link library modules by aliasing modules
US6243106B1 (en) * 1998-04-13 2001-06-05 Compaq Computer Corporation Method for figure tracking using 2-D registration and 3-D reconstruction
US6067785A (en) * 1998-04-24 2000-05-30 Wellman, Inc. Method of producing high quality dark dyeing polyester and resulting yarns and fabrics
US6188399B1 (en) * 1998-05-08 2001-02-13 Apple Computer, Inc. Multiple theme engine graphical user interface architecture
US6219056B1 (en) * 1998-06-05 2001-04-17 Autodesk, Inc. Shape objects having authorable behaviors and appearances
US6023271A (en) * 1998-06-11 2000-02-08 Sun Microsystems, Inc. Framework for binding data viewers/data manipulation with one to many objects through introspection
DE19928880A1 (de) * 1998-07-06 2000-01-13 Heidelberger Druckmasch Ag Farbkasten in einer Druckmaschine
US6915301B2 (en) * 1998-08-25 2005-07-05 International Business Machines Corporation Dynamic object properties
US6392671B1 (en) * 1998-10-27 2002-05-21 Lawrence F. Glaser Computer pointing device having theme identification means
US6039047A (en) * 1998-10-30 2000-03-21 Acuson Corporation Method and system for changing the appearance of a control region of a medical device such as a diagnostic medical ultrasound system
CA2255017A1 (en) * 1998-11-30 2000-05-30 Christina P. Lau Method and mechanism for a task oriented xml data model
US6353451B1 (en) * 1998-12-16 2002-03-05 Intel Corporation Method of providing aerial perspective in a graphical user interface
US6346945B1 (en) * 1998-12-28 2002-02-12 Klocwork Solutions Method and apparatus for pattern-based flowcharting of source code
US6668354B1 (en) * 1999-01-05 2003-12-23 International Business Machines Corporation Automatic display script and style sheet generation
US7117446B2 (en) * 1999-02-01 2006-10-03 Sonic Solutions, Inc. User interface method and system for application programs implemented with component architectures
US6480813B1 (en) * 1999-02-24 2002-11-12 Autodesk, Inc. Method and apparatus for defining a precision drawing in a drawing program
US6538651B1 (en) * 1999-03-19 2003-03-25 John Hayman Parametric geometric element definition and generation system and method
US6952215B1 (en) * 1999-03-31 2005-10-04 International Business Machines Corporation Method and system for graphics rendering using captured graphics hardware instructions
US6426761B1 (en) * 1999-04-23 2002-07-30 Internation Business Machines Corporation Information presentation system for a graphical user interface
US6779027B1 (en) * 1999-04-30 2004-08-17 Hewlett-Packard Development Company, L.P. Intelligent management module application programming interface with utility objects
US6393432B1 (en) * 1999-06-02 2002-05-21 Visionael Corporation Method and system for automatically updating diagrams
US6613099B2 (en) * 1999-08-20 2003-09-02 Apple Computer, Inc. Process and system for providing a table view of a form layout for a database
US6853868B1 (en) * 1999-10-15 2005-02-08 Sun Microsystems, Inc. Cross-platform audio feedback for GUI components
US7181686B1 (en) * 1999-10-29 2007-02-20 International Business Machines Corporation Selecting screens in a GUI using events generated by a set of view controllers
US6580438B1 (en) * 1999-11-22 2003-06-17 Fuji Xerox Co., Ltd. Systems and methods for maintaining uniformity in a presentation environment
US6546397B1 (en) * 1999-12-02 2003-04-08 Steven H. Rempell Browser based web site generation tool and run time engine
US6873337B1 (en) * 2000-04-06 2005-03-29 Microsoft Corporation Application programming interface for changing the visual style
US6753885B2 (en) * 2000-04-06 2004-06-22 Microsoft Corporation System and theme file format for creating visual styles
US20050091576A1 (en) * 2003-10-24 2005-04-28 Microsoft Corporation Programming interface for a computer platform
US6762767B2 (en) * 2000-04-06 2004-07-13 Microsoft Corporation Theme aware management using fusion
US7137066B2 (en) * 2000-04-06 2006-11-14 Microsoft Corporation Binary cache file format for themeing the visual appearance of a computer system
US20010048448A1 (en) * 2000-04-06 2001-12-06 Raiz Gregory L. Focus state themeing
US6886135B2 (en) * 2000-04-07 2005-04-26 Microsoft Corp. Extensible schema for defining the visual appearance of computer system components
TW581968B (en) * 2000-08-21 2004-04-01 Bsquare Corp Method and apparatus for producing user interfaces and device functionality for processor-based devices having embedded operating system and programming framework
US6918091B2 (en) * 2000-11-09 2005-07-12 Change Tools, Inc. User definable interface system, method and computer program product
US7596791B2 (en) * 2000-12-19 2009-09-29 Emc Corporation Methods and techniques for delivering rich Java applications over thin-wire connections with high performance and scalability
US7165239B2 (en) * 2001-07-10 2007-01-16 Microsoft Corporation Application program interface for network software platform
US7117504B2 (en) * 2001-07-10 2006-10-03 Microsoft Corporation Application program interface that enables communication for a network software platform
US6920461B2 (en) * 2001-07-10 2005-07-19 Microsoft Corp. Application program interface for network software platform
US7581231B2 (en) * 2001-07-10 2009-08-25 Microsoft Corporation Computing system and method for allowing plurality of applications written in different programming languages to communicate and request resources or services via a common language runtime layer
US7017162B2 (en) * 2001-07-10 2006-03-21 Microsoft Corporation Application program interface for network software platform
US7546602B2 (en) 2001-07-10 2009-06-09 Microsoft Corporation Application program interface for network software platform
US20030093419A1 (en) * 2001-08-17 2003-05-15 Srinivas Bangalore System and method for querying information using a flexible multi-modal interface
US20030101439A1 (en) * 2001-11-29 2003-05-29 Giuseppe Desoli System and method for supporting emulation of a computer system through dynamic code caching and transformation
AUPS145902A0 (en) * 2002-03-28 2002-05-09 Canon Kabushiki Kaisha A client server approach for interactive updates of graphical user interfaces on intranets

Also Published As

Publication number Publication date
AU2004205327A1 (en) 2005-05-12
IL164072A (en) 2013-01-31
KR20050039549A (ko) 2005-04-29
IL164072A0 (en) 2005-12-18
SG111201A1 (en) 2005-05-30
TWI366105B (en) 2012-06-11
EP1536327A2 (en) 2005-06-01
RU2004127210A (ru) 2006-02-20
CA2481590A1 (en) 2005-04-24
KR101031700B1 (ko) 2011-04-29
CN100530083C (zh) 2009-08-19
JP2005135384A (ja) 2005-05-26
ZA200407299B (en) 2006-05-31
BRPI0407050A (pt) 2005-11-22
AU2004205327B2 (en) 2010-04-01
NZ535217A (en) 2006-05-26
EP1536327A3 (en) 2007-09-05
CN1609792A (zh) 2005-04-27
RU2371758C2 (ru) 2009-10-27
US20050091576A1 (en) 2005-04-28
TW200515175A (en) 2005-05-01
NO20043781L (no) 2005-04-25
US20090119578A1 (en) 2009-05-07

Similar Documents

Publication Publication Date Title
MXPA04008849A (es) Interfase de programacion para una plataforma de computo.
US7721254B2 (en) Programming interface for a computer platform
US7426734B2 (en) Facilitating presentation functionality through a programming interface media namespace
AU777767B2 (en) Web-based instruction
JP3565850B2 (ja) オブジェクト指向通知フレームワークシステム
US7284192B2 (en) Architecture for ink annotations on web documents
US20060031755A1 (en) Sharing inking during multi-modal communication
KR20060087995A (ko) 작업 흐름을 모델링하는 방법 및 시스템
US7657869B2 (en) Integration of external tools into an existing design environment
Phelps Multivalent documents: anytime, anywhere, any type, every way user-improvable digital documents and systems
US7698659B1 (en) Methods and apparatus for formatting portion of content
Gjesdal A Modular Integrated Development Environment for Coloured Petri Net Models
Allen Self Handbook Documentation
Hayes A Framework for Implementing Bioinformatics Knowledge-Exploration Systems
Tian Towards integrated document processing and file browsing
Ramnath et al. Interactive Systems and the MVC Architecture

Legal Events

Date Code Title Description
FC Refusal