Ir al contenido
  1. Tags/

C#

2020


Tips & Tricks | Combinar dos listas sin duplicados con Linq

··1179 palabras·6 mins

En muchas ocasiones es necesario combinar dos listas de elementos del mismo tipo de objeto sin tener la certeza de que puedan o no existir duplicados. Realizar esta combinación es, a priori, una tarea sencilla puesto que podemos resolverla usando un bucle y realizando todas las comprobaciones pertinentes pero, ¿es la forma más elegante y legible? Gracias a Linq podemos resolver esta tarea, y otras muchas, sin necesidad de escribir grandes cantidades de código y haciéndolo mucho más legible y mantenible.

2016


WPF | MVVM y Menú contextual (ContextMenu) en filas de un DataGrid y los problemas del Binding

·1150 palabras·6 mins

posterEs bastante común en las aplicaciones que muestran listados de registros, disponer de un menú contextual que extienda las opciones disponibles a realizar sobre cada registro, o simplemente que contenga algunas de ellas que podamos considerar como más usadas para que el usuario no tenga que desplazarse por la pantalla en busca de la opción necesaria.

Para esto, prácticamente todos los controles de WPF disponen de menú contextual, fácilmente gestionable pero que presenta algunos retos cuando estamos trabajando con el patrón MVVM ya que, el Binding se tiene que resolver con el ViewModel que contiene las acciones para que los comandos asociados a las opciones funcionen correctamente, así que vamos a ver paso a paso cómo podemos solventarlo.

WPF | MVVM y Menú contextual (ContextMenu) en filas de un DataGrid y los problemas del Binding

·1018 palabras·5 mins

posterEs bastante común en las aplicaciones que muestran listados de registros, disponer de un menú contextual que extienda las opciones disponibles a realizar sobre cada registro, o simplemente que contenga algunas de ellas que podamos considerar como más usadas para que el usuario no tenga que desplazarse por la pantalla en busca de la opción necesaria.

Para esto, prácticamente todos los controles de WPF disponen de menú contextual, fácilmente gestionable pero que presenta algunos retos cuando estamos trabajando con el patrón MVVM ya que, el Binding se tiene que resolver con el ViewModel que contiene las acciones para que los comandos asociados a las opciones funcionen correctamente, así que vamos a ver paso a paso cómo podemos solventarlo.

Windows Phone 8.1 | Usar el flash de la cámara ¿Torch o Flash?

posterMientras desarrollaba la aplicación Torch8 me encontré con estas dos formas de controlar el flash de la cámara pero, ¿cuál es la adecuada para qué momento y cómo debo usarla?

Si vamos a la documentación podemos observar que la ayuda para tomar esta decisión es mínima y que depende en gran medida de la interpretación que hagamos sobre la descripción.

  • TorchControl : Provides functionality for controlling the torch LED settings on a capture device.
  • FlashControl : Provides functionality for controlling the flash settings on a capture device.

Y os preguntaréis… WTF!! Pero si es análogo!! Pues no exactamente. Digamos que la diferencia es que Torch está pensado simplemente para alumbrar porque sí y Flash está pensando para realizar la acción de flash durante una captura de una foto o un vídeo aunque en definitiva, sea prácticamente lo mismo. De hecho, FlashControl contiene alguans propiedades más como RedEyeReduction y RedEyeReductionSupported que nos dan esa misma idea.

Windows Phone 8.1 | Iniciar cámara para previsualización

posterSupongamos que estamos realizando una aplicació y necesitamos ver lo que estamos enfocando con la cámara ya sea para iniciar una grabación, tomar una foto o simplemente, como en mi caso para hacer una linterna con cámara (Torch8). Dado que ya tenemos disponible el desarrollo para Windows 10 (desktop y mobile) la información escasea acerca de esta temática para la plataforma Windows Phone 8.1 y Windows 8.1, así que he recopilado lo que he encontrado al respecto y os lo condensaré en este artículo.

2014


La odisea de cómo pasar de String a Decimal o Double

·1173 palabras·6 mins

posterHoy me gustaría hacer un inciso para hablar de un problema recurrente, de esos como los de convertir o tratar fechas… vamos, un problema que a priori es una tontería pero que nos puede llevar unas cuántas horas de trabajo, y no es otro que… pasar de string a decimal o a double

2013


Async / Await, error: Cannot find all types required by the ‘async’ modifier

·179 palabras·1 min

La llegada de “async / await” a nuestras vidas como desarrolladores ha sido un gran avance, no porque haga cosas excepcionales, sino porque nos permite mantener una limpieza y coherencia en el código que antes no teníamos.

Pero, a veces, las cosas nuevas nos dan algunos dolores de cabeza y, en concreto, en un proyecto de Silverlight 5 me he encontrado con este error “Cannot find all types required by the ‘async’ modifier”.

2012


SharePoint 2010: Ocultar elementos web o bloques de una página según permisos (SPSecurityTrimmedControl).

·279 palabras·2 mins

Escenario:

Supongamos que tenemos un sitio de SharePoint, en este caso me voy a centrar en un sitio de publicación y, que queremos ocultar la Ribbon a los usuarios anónimos, o lo que es lo mismo, mostrarla sólo a los usuarios con permisos para realizar ediciones (diseño, contenido,…).

Solución:

SharePoint nos provee de un control (muy bueno) para realizar esta tarea SPSecurityTrimmedControl, muy fácil de usar. Este control nos valdría para mostrar/ocultar elementos web o bloques de nuestras páginas a los usuarios según los permisos especificados, pero en este ejemplo, lo enfocamos a la Ribbon de SharePoint.

2011


SharePoint 2010: Proveedor de Autenticación Personalizado (Custom Membership Provider)

·1525 palabras·8 mins

Hola a todos.

Hoy, tras mis breves vacaciones voy a exponer una cuestión bastante común sobre la autenticación de usuarios en nuestros sitios de SharePoint.

 

Escenario

En ocasiones se nos hace necesario autenticar usuarios contra almacenes externos a SharePoint o, simplemente realizar la autenticación de una forma diferente a la habitual. En este caso, haré una exposición de autenticación contra una fuente de datos externa.

Solución

Para empezar, lo primero es que nuestra aplicación web debe tener activada la autenticación basada en claims y la autenticación basada en formularios (FBA).