
Aprende a programar desde cero con C#, Microsoft .NET y WPF
Aprende con aplicaciones de consola y de escritorio (WPF)
Language: spanish
Note: 4.7/5 (916 notes) 22,705 students
Instructor(s): Sergio Alejandro Pérez Gabriel
Last update: 2023-01-25
What you’ll learn
- Fundamentos de programación y con ello la adquisición de bases sólidas para aprender muchas más tecnologías de Microsoft u otras plataformas.
- Dominio en temas básicos como flujo de programa, algoritmos y estructuras de datos, manejo de errores y depuración, programación orientada a objetos y mucho más
- Dominio de temas intermedios y avanzados como seguridad de aplicaciones, rendimiento de aplicaciones, gestión de memoria, multithreading y mucho más
- Excelente dominio de Visual Studio como herramienta principal de desarrollo (IDE) en su versión más reciente para el desarrollo de software con C#.
- Dominio de Microsoft .NET
- Bases de .NET 5, .NET 6 y .NET 7
- Bases de Windows Presentation Fundation (WPF)
- Creación de aplicaciones de escritorio con WPF
Requirements
- Comenzamos desde “¿Qué es programación?” por lo que no es necesario un requisito mínimo más que el manejo básico de la computadora.
- Para alumnos intermedios o avanzados, les es posible tomar el curso comenzando con los temas de su nivel.
Description
En este curso aprende a programar con C#, uno de los lenguajes de programación mas sencillos y a su vez robustos que existentes actualmente. Además C# cuenta con el respaldo de Microsoft al ser parte de .NET
NOTA: Este curso se actualiza constantemente y en este momento ya está actualizado a .NET 5, .NET 6 y .NET 7
También aprenderás de la mano con Visual Studio, uno de los IDE más potentes en la actualidad, que proporciona las mejores herramientas en su categoría para cualquier desarrollador. Además permite simplificar muchas tareas que en otros lenguajes y entornos de programación podría ser hasta tortuoso. Visual Studio nos permite desarrollar con un conjunto de herramientas completo, desde el diseño inicial hasta la implementación final.
Irás paso a paso conociendo desde cero el lenguaje y los conceptos de programación necesarios para convertirte en un buen programador, con bases sólidas y logrando posteriormente incluso penetrar en cualquier otro lenguaje o plataforma.
Si ya cuentas con las bases de programación, podrás brincarte los fundamentos y pasar directo a la acción, éste curso esta diseñado para iniciar en el nivel que te encuentras.
Tambien aprende a crear excelentes aplicaciones de escritorio con Windows Presentation Fundation (WPF), la mejor plataforma para crear aplicaciónes llamativas sobre Windows.
El curso incluirá los siguientes temas de estudio :
Fundamentos
i. Introducción.
Presentación
ii. Introducción a .NET y Visual Studio
Objetivo
Introducción a .NET Framework
Introducción a Visual Studio
Práctica: Instalación de Visual Studio
SDK de .NET
Creación de proyectos con Visual Studio
Práctica: Analizando un proyecto de consola
iii. Introducción a los conceptos básicos de programación
Lógica de programación
Procesamiento y almacenamiento de datos informáticos
Hardware
Software
Ciclo de vida de la aplicación
Tipos de aplicación
Práctica: Tipos de aplicación
Compilación de código
Práctica: Compilación
Resumen
iv. Conceptos básicos del lenguaje de programación
Introducción
Sintaxis
Práctica: Sintaxis
Tipos de datos
Variables y constantes
Práctica: Tipos, variables y constantes
Resumen
v. Flujo de programa
Introducción a los conceptos de programación estructurada
Introducción a la ramificación
Funciones
Practica: Aplicando programación estructurada
vi. Algoritmos y estructuras de datos
Algoritmos
Estructura de datos
Práctica. Matrices.
Práctica. Colas y pilas.
Practica. Listas
Práctica. Otras colecciones.
vii. Manejo de errores y depuración
Introducción a los errores del programa
Introducción al manejo estructurado de errores
Práctica. Depuración con Visual Studio.
Práctica. Try Catch Finally.
viii. Introducción a la programación orientada a objetos
Introducción a estructuras y clases.
Clases
Encapsulación
Herencia
Enumeraciones
Práctica. Clases, encapsulación y herencia
Práctica. Clases, encapsulación y herencia. Continuación
Polimorfismo
Vistazo a la biblioteca de clases base de .NET
Tipo Record
ix. Programación Entrada/Salida fundamental
Uso de la E/S de la consola
Práctica. Usando E/S en consola
Usando E/S en archivos
x. Rendimiento de aplicaciones y gestión de memoria
Tipos de valor vs tipos de referencia
Tipos de conversión – Implícitas
Tipos de conversión – Explícitas
Tipos de conversión – System.Convert
El recolector de elementos no utilizados
INTERMEDIO-AVANZADO
xi. Implementando multiprocesamiento y procesamiento asíncrono
Usando Delegados y Lambda fácilmente
Entendiendo hilos (Threads)
Usando la clase Thread
Usando la clase Thread – ParameterizedThreadStart
Usando la clase Thread – ThreadStatic
Usando la clase Thread – ThreadLocal
Usando ThreadPool
Usando Tareas
Usando Tareas – ContinueWith
Usando Tareas – TaskFactory
Usando Tareas – WaitAll
Usando la clase PARALLEL
Usando ASYNC y AWAIT
Usando ASYNC y AWAIT – Ecalabilidad
Usando ASYNC y AWAIT – SynchronizationContext
Usando Parallel Language Integrated Query (PLINQ)
Usando colecciones concurrentes
xii. Administrando subprocesos múltiples (multithreading)
Objetivo de la sección.
Sincronizando recursos
La clase Volatile
La clase Interlocked
Cancelando tareas
xiii. Crear e implementar eventos (EVENTS) y devoluciones de llamada (CALLBACK).
Objetivo de la sección.
Entendiendo delegados (DELEGATES)
Usando expresiones LAMBDA
Usando eventos (EVENTS)
xiv. Usando Tipos en modo avanzado
Objetivo de la sección.
Creando enumeraciones
Usando tipos genéricos (GENERICS)
Extendiendo tipos existentes
Usando tipos dinámicos
xv. Programación orientada a objetos avanzada
Objetivo de la sección.
Diseñando e implementando interfaces
Creando y Usando clases base
Práctica: Interfaces y Clases Base
Clases base abstractas y selladas
Principio de sustitución de Liskov
Implementando interfaces estándar de .NET
Práctica: Usando IDisposable.
xvi. Utilizando Reflection
Objetivo de la sección
Creando y usando atributos
Ejercicio: Usando atributos localmente
Usando Reflection
Usando CodeDOM y expresiones Lambda para generar código.
xvii. Usando Strings en modo avanzado.
Objetivo
Usando strings en .NET
Manipulando Strings
Buscando y enumerando Strings
Formateando Strings
Ejercicio. Formateo de Strings
xviii. Validando la entrada de aplicación
Objetivo
¿Por qué es importante validar las entradas de una aplicación?
Usando Parse, TryParse y Convert
Usando Expresiones Regulares
Validando JSON y XML
Ejercicio. Validando JSON
xix. Ejecutando encriptación simétrica y asimétrica
Objetivo
Usando encriptación simétrica y asimétrica
Trabajando con encriptación en .NET
Usando Hashing
Administrando y creando certificados.
Usando SecureString
xx. Administrando ensamblados (ASSEMBLIES)
Objetivo
¿Qué es un ensamblado?
Firmando ensamblados usando STRONG NAME
El Global Assembly Cache (GAC)
Versionando ensamblados
xxi. Depuración (DEBUG) avanzada
Objetivo
Configuración de compilación
Crear y administrar directivas de compilación
Gestión de archivos PDB y símbolos
xxii. Implementando el diagnóstico en una aplicación.
Objetivo
LOGIN y TRACING 1
LOGIN y TRACING 2
Perfilando tu aplicación
Creando y monitoreando contadores de rendimiento.
xxiii. Entrada/Salida avanzada
Objetivo
Archivos – Usando Drives
Archivos – Usando Directorios
Archivos – Usando Archivos
Archivos – Usando Paths
El FILE SYSTEM no es solo para tí
Comunicándonos a través de la RED.
Implementando E/S asíncrona
xxiv. Consumiendo datos
Objetivo
¿Que es una base de datos?
Instalando Sql Server
Instalando Microsoft Sql Server Management Studio
Trabajando con base de datos – Conexión
Trabajando con base de datos – Consulta
Trabajando con base de datos – Actualización
Trabajando con base de datos – Parámetros
Trabajando con base de datos – Transacciones
Trabajando con base de datos – ORM – Entity Framework
Usando WEB SERVICE – WCF
Consumiendo XML
Consumiendo XML – Clases de .NET
Consumiendo JSON
xxv. Consultando y manipulando datos y objetos usando LINQ
Objetivo
Conceptos LINQ: Explicit Typing
Conceptos LINQ: Sintaxis de inicialización de objetos
Conceptos LINQ: Expresiones LAMBDA
Conceptos LINQ: Métodos de extensión
Conceptos LINQ: Tipos anónimos
Usando queries LINQ
Operadores estándar de LINQ
¿Cómo funciona LINQ?
Usando LINQ para XML
xxvi. Serializar y deserializar datos
Objetivo
Usando serialización y deserialización
Usando XmlSerializer
Usando serialización binaria
Usando DataContract
Usando JSON Serializer
WINDOWS PRESENTATION FUNDATION (WPF) PARA PRINCIPIANTES
xxvii. WPF: Introducción
Objetivo
Mi primer aplicación WPF
¿Qué es WPF?
XAML
Codigo subyacente
Controles
Layouts
Data binding
Gráficos y animación
Tipografía y texto
Personalización – Content Model
Personalización – Plantillas y Triggers
Personalización – Estilos
Personalización – Controles
xxviii. WPF: XAML
Objetivo
¿Qué es XAML?
Sintaxis XAML – Elementos
Sintaxis XAML – Atributos
Sintaxis XAML – Propiedades
Sintaxis XAML – Colecciones
Sintaxis XAML – Propiedades de Contenido
Sintaxis XAML – Texto como contenido
Sintaxis XAML – Eventos
Case y espacio en blanco en XAML
Extensiones de marcado
Convertidores de tipo
Elementos raíz XAML y espacios de nombres XAML
Prefijos personalizados y tipos personalizados en XAML
Eventos y código subyacente XAML
Elementos con nombre XAML
Propiedades adjuntas y eventos adjuntos
Tipos base y XAML
Seguridad XAML
Cargando XAML desde el código
xxix. WPF: Code Behind
Objetivo
¿Qué es Code Behind?
Cosas a tener en cuenta al manejar Code Behind
x: Código y Limitaciones del código en línea
xxx. WPF: Windows
Objetivo
La clase Window
Implementando Window
Abriendo una ventana
Ventana propietaria
Activación de una ventana
Cerrar una ventana
Ciclo de vida de una ventana
Ubicación y tamaño de una ventana
Estado de una ventana
Apariencia de una ventana
xxxi WPF: Cuadros de diálogo.
Objetivo
Cuadros de mensaje
Cuadros de diálogo comunes
Cuadros de diálogo personalizados
Elementos de la interfaz de usuario que abren un cuadro de diálogo
Devolver un resultado
xxxii WPF: Controles
Objetivo
Jerarquia de clases para los controles
Layouts. Border
Layouts. StackPanel y ScrollViewer
Layouts. Grid
Layouts. Canvas
Layouts. BulletDecorator
Layouts. DockPanel
Layouts. Expander
Layout. GridSplitter
Layouts. GroupBox
Layouts. Thumb And ScrollBar
Layouts. WrapPanel and ViewBox
Botones. Button
Botones. RepeatButton
Vizualización de datos. DataGrid
Vizualización de datos. TreeView y ListView
Fechas. Calendar y DatePicker
Menus. ContextMenu
Menus. Menu
Menus. ToolBar
Selección. CheckBox
Selección. ComboBox
Selección. ListBox
Selección. RadioButton
Selección. Slider
Navegación. Frame
Navegación. NavigationWindow
Navegación. TabControl
Información de usuario. AccessText
Información de usuario. Label
Información de usuario. Popup
Información de usuario. ProgressBar
Información de usuario. StatusBar
Información de usuario. TextBlock y Tooltip
Documentos. Varios
Entrada. Varios
Media. Varios
Entrada Digital. Varios.
xxxiii WPF: Propiedades de Dependencia
Objetivo.
¿Qué es una propiedad de dependencia?
Definición de una propiedad de dependencia
Registro de una propiedad de dependencia
Wrapper de una propiedad de dependencia
¿Cómo usa WPF las propiedades de dependencia?
Validación de una propiedad de dependencia
xxiv WPF: Bindings
Objetivo.
Propiedades de dependencia.
Enlace entre elementos.
Enlace de elementos con código.
Enlace de objetos que no son elementos.
xxxv WPF: Comandos
Objetivo.
Entendiendo comandos.
Biblioteca de comandos.
Orígenes de comandos.
Enlaces de comandos.
Orígenes múltiples.
Texto de comandos.
Invocando comandos.
Desactivando comandos.
Controles con comandos incorporados.
xxxvi WPF: Recursos
Objetivo.
Colección de recursos
Jerarquía de recursos
Recursos dinámicos y estáticos
Recursos de aplicación y de sistema
Diccionario de recursos
xxxvii WPF: Estilos
Objetivo.
Conceptos básicos
Estableciendo propiedades
Adjuntando controladores de eventos
Capas de estilos
Aplicación automática de estilos
Un Trigger simple
Trigger de eventos
Behaviors
Usando Behaviors
Who this course is for
- Desarrolladores principiantes con intereses en C# y/o tecnologías Microsoft basadas en .NET
- Publico en general con interés en aprender a programar con conceptos básico de computación.
Course content
- Introducción
- Presentación
- Fundamentos: Introducción a .NET y Visual Studio
- Objetivo de la sección
- Introducción a .NET
- Introducción a Visual Studio
- Práctica: Instalación de Visual Studio
- SDK de .NET
- Creación de proyectos con Visual Studio
- Creación de proyectos con Visual Studio (2a parte)
- Tarea: Creando nuestro primer Hola Mundo
- Como usar los recursos del curso
- Práctica: Analizando un proyecto de consola en Visual Studio
- Cuestionario de la sección
- Fundamentos: Introducción a los conceptos básicos de programación
- Lógica de programación
- Procesamiento y almacenamiento de datos informáticos
- Hardware
- Software
- Ciclo de vida de una aplicación
- Tipos de aplicación
- Práctica: Tipos de aplicación
- Compilación de código
- Práctica: Compilación
- Resumen
- Cuestionario de la sección
- Fundamentos: Conceptos básicos del lenguaje de programación
- Objetivo de la sección
- Sintaxis
- Práctica: Sintaxis
- Tipos de datos
- Variables y constantes
- Practica: Tipos, variables y constantes
- Creando una calculadora de área
- Resumen
- Cuestionario de la sección
- Fundamentos: Flujo de programa
- Objetivo de la sección
- Introducción a los conceptos de programación estructurada
- Introducción a la ramificación
- Funciones
- Práctica: Aplicando programación estructurada
- Tarea: Usando iteraciones (While)
- Cuestionario de la sección
- Fundamentos: Algoritmos y estructuras de datos
- Objetivo de la sección
- Algoritmos
- Estructura de datos
- Práctica. Matrices.
- Práctica. Colas y pilas.
- Practica. Listas
- Práctica. Otras colecciones.
- Uso de estructuras de datos
- Cuestionario de la sección
- Fundamentos: Manejo de errores y depuración
- Objetivo de la sección
- Introducción a los errores del programa
- Introducción al manejo estructurado de errores
- Práctica. Depuración con Visual Studio
- Práctica. Try Catch Finally
- Generando nuestra EXCEPCIÓN personalizada
- Cuestionario de la sección
- Fundamentos: Introducción a la programación orientada a objetos
- Objetivo de la sección
- Introducción a estructuras y clases
- Clases
- Encapsulación
- Herencia
- Enumeraciones
- Práctica. Clases, encapsulación y herencia
- Práctica. Clases, encapsulación y herencia. Continuación
- Tarea: Usando Herencia
- Polimorfismo
- Vistazo a la biblioteca de clases base de .NET
- Tipo Record
- Cuestionario de la sección
- Fundamentos: Programación Entrada/Salida fundamental
- Objetivo de la sección
- Usando E/S en consola
- Práctica. Usando E/S en consola
- Usando E/S en archivos
- Tarea: Generando un archivo.
- Cuestionario de la sección
- Fundamentos: Rendimiento de aplicaciones y gestión de memoria
- Objetivo de la sección
- Tipos de valor vs tipos de referencia
- Tipos de conversión – Implícitas
- Tipos de conversión – Explícitas
- Tipos de conversión – System.Convert
- Usando System.Convert
- El recolector de elementos no utilizados
- Cuestionario de la sección
- Intermedio/Avanzado: Implementando multiprocesamiento y procesamiento asíncrono
- Objetivo de la sección
- Usando Delegados y Lambda fácilmente
- Entendiendo los hilos (Threads)
- Usando la clase THREAD
- Usando la clase Thread – ParameterizedThreadStart
- Usando la clase Thread – ThreadStatic
- Usando la clase Thread – ThreadLocal
- Tarea: Usando hilos
- Usando ThreadPool
- Usando Tareas
- Usando Tareas – ContinueWith
- Usando Tareas – TaskFactory
- Usando Tareas – WaitAll
- Tarea: Usando Tasks
- Usando la clase Parallel
- Usando ASYNC y AWAIT
- Usando ASYNC y AWAIT – Escalabilidad
- Usando ASYNC y AWAIT – SynchronizationContext
- Tarea: Usando Async y Await
- Usando Parallel Language Integrated Query (PLINQ)
- Usando colecciones concurrentes
- Cuestionario de la sección
- Intermedio/Avanzado: Administrando subprocesos múltiples
- Objetivo de la sección
- Sincronizando recursos
- La clase Volatile
- La clase Interlocked
- Cancelando tareas
- Tarea: Cancelando TASKS
- Cuestionario de la sección
- Intermedio/Avanzado: Crear e implementar EVENTS y CALLBACKS
- Objetivos de la sección
- Entendiendo delegados (DELEGATES)
- Tarea: Usando delegados
- Usando Expresiones LAMBDA
- Tarea: Usando FUNC
- Usando eventos
- Cuestionario de la sección
- Intermedio/Avanzado: Usando TIPOS en modo avanzado
- Objetivo de la sección
- Creando enumeraciones (enums)
- Usando Genéricos (Generics)
- Tarea: Usando genéricos
- Extendiendo Tipos Existentes
- Tarea: Usando OVERRIDE
- Usando Tipos Dinámicos
- Cuestionario de la sección
- Intermedio/Avanzado: Programación orientada a objetos avanzado
- Objetivo de la sección
- Diseñar e implementar interfaces
- Crear y usar clases base
- Practica: Interfaces y Clases Base
- Clases abstractas y selladas
- Principio de sustitución de Liskov
- Interfaces Estándar en .NET
- Práctica: Usando IDisposable
- Cuestionario de la sección
- Intermedio/Avanzado: Usando Reflection
- Objetivo de la sección
- Creando y usando atributos
- Ejercicio: Usando atributos localmente
- Usando Reflection
- Tarea: Usando Reflection
- Usando CodeDom
- Cuestionario de la sección
- Intermedio/Avanzado: Manipulando Strings en modo avanzado
- Objetivo de la sección
- Usando strings en .NET
- Manipulando Strings
- Buscando y enumerando Strings
- Tarea: Usando String.Split()
- Formateando Strings
- Ejercicio. Formateo de Strings
- Cuestionario de la sección
- Intermedio/Avanzado: Validando la entrada de una aplicación
- Objetivo de la sección
- Importancia de validar la entrada de una aplicación
- Usando Parse, TryParse y Convert
- Usando Expresiones Regulares
- Tarea: Usando Expresiones Regulares
- Validando JSON y XML
- Ejercicio. Validando JSON
- Cuestionario de la sección
- Intermedio/Avanzado: Cifrado simétrico y asimétrico
- Objetivo de la sección
- Usando encriptación Simétrica y Asimétrica
- Trabajando con encriptación en .NET
- Tarea: Usando cifrado RSA y CSP
- Usando Hashing
- Administrando y usando certificados
- Protección de datos con SecureString
- Cuestionario de la sección
- Intermedio/Avanzado: Administrando Assemblies
- Objetivo de la sección
- ¿Qué es un ensamblado?
- Firmar un ensamblado con un nombre seguro
- Agregar un ensamblado a la GAC
- Versionando ensamblados
- Tarea: Modificando propiedades de un ensamblado
- Cuestionario de la sección
- Intermedio/Avanzado: Depurar una aplicación (DEBUG)
- Objetivo de la sección
- Configuraciones de compilación
- Tarea: Usando símbolos de compilación en VS
- Crear y administrar directivas de compilador
- Gestión de archivos PDB y símbolos
- Cuestionario de la sección
- Intermedio/Avanzado: Implementar diagnósticos en una aplicación
- Objetivo de la sección
- Logging y Tracing (Parte I)
- Logging y Tracing (Parte II)
- Tarea: Usando EventLog
- Creación y supervisión de contadores de rendimiento
- Perfilamiento de una aplicación
- Cuestionario de la sección
- Intermedio/Avanzado: Realizando operaciones de E/S
- Objetivo de la sección
- Archivos – Usando DRIVES
- Archivos – Usando Directorios
- Archivos – Usando archivos
- Archivos – Usando Paths
- Streams – Usando la clase Stream
- El File System no es solo para ti
- Comunicándonos a través de la RED
- Implementando operaciones E/S asíncronas
- Tarea: Usando archivos
- Cuestionario de la sección
- Intermedio/Avanzado: Consumiendo datos
- Objetivo de la sección
- ¿Qué es una base de datos?
- Instalando SQL Server
- Instalando Microsoft SQL Server Management Studio
- Trabajando con bases de datos – Conexión
- Trabajando con bases de datos – Consultas
- Trabajando con bases de datos – Actualizaciones
- Trabajando con bases de datos – Parámetros
- Tarea: Usando bases de datos
- Trabajando con bases de datos – Transacciones
- Trabajando con bases de datos – ORM – Entity Framework
- Usando Web Services (WCF)
- Consumiendo XML
- Consumiendo XML – Clases de .NET
- Consumiendo Json
- Cuestionario de la sección
- Intermedio/Avanzado: Usando LINQ
- Objetivo de la sección
- Variables tipadas implícitamente
- Sintaxis de inicialización de objetos
- Expresiones LAMBDA
- Métodos de Extensión y Tipos Anónimos
- Usando consultas LINQ (Queries)
- Tarea: Usando LINQ en paginación de datos
- ¿Cómo funciona LINQ?
- LINQ para XML
- Cuestionario de la sección
- Intermedio/Avanzado: Serializar y deserializar datos
- Objetivo de la sección
- Usando serialización y deserialización
- Usando XmlSerializer
- Usando serialización binaria
- Usando DataContract
- Usando serialización JSON
- Tarea: Usando serialización JSON
- Cuestionario de la sección
- WPF: Introducción a Windows Presentation Fundation
- Objetivo de la sección
- Hola WPF
- ¿Qué es WPF?
- XAML
- Code Behind
- Controles
- Layouts
- Data Binding
- Gráfico y animación
- Texto y tipografía
- Personalización – Content Model
- Personalización – Plantillas
- Personalización – Estilos
- Personalización – Controles
- WPF: XAML
- Objetivo de la sección
- ¿Qué es XAML?
- Sintaxis – Elementos
- Sintaxis – Atributos
- Sintaxis – Propiedades
- Sintaxis – Colecciones
- Sintaxis – Propiedades de Contenido
- Sintaxis – Texto como contenido
- Sintaxis – Eventos
- Case y Espacios en blanco
- Extensiones de marcado
- Convertidores de tipo
- Elementos raíz y Namespaces
- Prefijos y tipos personalizados
- Eventos y Code Behind
- Elementos nombrados
- Propiedades y Eventos adjuntos
- Tipos base
- Seguridad
- Cargar XAML desde código
- WPF: Code Behind
- Objetivo
- ¿Qué el código subyacente?
- Cosas a tener en cuenta al manejar Code Behind
- X:Code
- WPF: Window
- Objetivo de la sección
- La clase Window
- Implementando Window
- Abriendo una ventana
- Ventana propietaria
- Activación de una ventana
- Cerrar una ventana
- Ciclo de vida de una ventana
- Ubicación y tamaño de una ventana
- Estado de una ventana
- Apariencia de una ventana
- Usando Window
- WPF: Cuadros de diálogo
- Objetivo de la sección
- Message Box
- Common Dialog Box
- Custom Dialog Box
- Abriendo cajas de diálogo
- Devolución de resultados
- Usando cuadros de diálogo personalizado.
- WPF: Controles
- Objetivo de la sección
- Jerarquía de clases
- LAYOUTS-Border
- LAYOUTS-StackPanel y ScrollViewer
- LAYOUTS-Grid
- LAYOUTS-Canvas
- LAYOUTS-BulletDecorator
- LAYOUTS-DockPanel
- LAYOUT-Expander
- LAYOUTS-GridSplitter
- LAYOUTS-GroupBox
- LAYOUTS-Thumb y ScrollBal
- LAYOUTS-WrapPanel, Separetor y ViewBox
- BOTONES-Button
- BOTONES-RepeatButton
- VISUALIZACIÓN DE DATOS -DataGrid
- VISUALIZACIÓN DE DATOS-TreeView y ListView
- FECHAS-Calendar y DatePicker
- MENUS-ContextMenu
- MENUS-Menu
- MENUS-ToolBar
- SELECCIÓN-CheckBox
- SELECCIÓN-ComboBox
- SELECCIÓN-ListBox
- SELECCIÓN-RadioButton
- SELECCIÓN-Slider
- NAVEGACIÓN-Frame
- NAVEGACIÓN-NavigationWindow
- NAVEGACIÓN-TabControl
- INFORMACIÓN DE USUARIO-AccessText
- INFORMACIÓN DE USUARIO-Label
- INFORMACIÓN DE USUARIO-Popup
- INFORMACIÓN DE USUARIO-ProgressBar
- INFORMACIÓN DE USUARIO-StatusBar
- INFORMACIÓN DE USUARIO-TextBlock y ToolTip
- DOCUMENTOS-Varios
- CONTROLES DE ENTRADA – Varios
- MEDIA – Varios
- ENTRADA DIGITAL – Varios
- WPF. Propiedades de Dependencia
- Objetivo de la sección
- ¿Qué es una propiedad de dependencia?
- Definición de una propiedad de dependencia
- Registro de una propiedad de dependencia
- Wrapper de una propiedad de dependencia
- ¿Cómo usa WPF las propiedades de dependencia?
- Validación de una propiedad de dependencia
- Práctica: Creando una propiedad de dependencia.
- WPF: Bindings
- Objetivo de la sección
- Propiedades de Dependencia
- Enlace de datos entre Elementos
- Enlace de datos con Código
- Enlaces con objetos que no son elementos
- WPF: Comandos
- Objetivo de la sección
- Entendiendo los comandos
- Biblioteca de comandos
- Orígenes de comandos
- Enlaces de comandos
- Orígenes múltiples
- Texto de comandos
- Invocando comandos
- Desactivando comandos
- Controles con comandos incorporados
- WPF: Recursos
- Objetivo de la sección
- Colección de recursos
- Jerarquía de Recursos
- Recursos dinámico y estáticos
- Recursos de aplicación y de sistema
- Diccionario de recursos
- WPF: Estilos
- Objetivo
- Conceptos básicos
- Estableciendo propiedades
- Adjuntando controladores de eventos
- Capas de estilos
- Aplicación automáticos de estilos
- Un trigger simple
- Trigger de eventos
- Behaviors
- Usando Behaviors
- Formas, pinceles y transformaciones
- Objetivo
- Formas. Entendiendo las formas
- Formas. La clase Shape
- Formas. Elipse y Rectángulo
- Formas. Tamaño y colocación
- Formas. Escalando con Viewbox
- Formas. Línea
- Formas. Polilínea
- Formas. Polígono
- Formas. Inicio, fin y unión de líneas
- Formas. Punteado
- Formas. Ajuste de pixel
- Formas. Práctica
- Pinceles. Uso de pinceles
- Pinceles. SolidColorBrush
- Pinceles. LinearGradientBrush
- Pinceles. RadialGradientBrush
- Pinceles. ImageBrush
- Pincles. Un ImageBrush en mosaico
- Pinceles. VisualBrush
- Pinceles. BitmapCacheBrush
- Transformaciones
- Transformaciones. Elementos
- Transformaciones. Formas
- Transparencias
- Transparencias. Opacity Mask
- Espera más clases próximamente
- Extra
- Clase Extra

Google Project Management [Coursera with Google]
Time remaining or 194 enrolls left
Don’t miss any coupons by joining our Telegram group |