Hola !
Hoy toca post rápido que ya empieza Visual Studio 2017 en Austin y mejor sacar los posts que tengo en modo “backUp”. El primero es uno simple:
Cómo crear un XAML Converter que muestre un valor de tipo DateTime en el formato local donde se esté ejecutando la aplicación.
En estos días he tenido que volver a buscar esté código, ya que una App que durante todo el proceso de desarrollo “funcionaba bien”, de repente al desplegarla a producción comenzó a mostrar las fechas con un defasaje de un par de horas. Resulta que uno de los entornos de producción se había creado en Europa y claro, desde Norte América las horas se veían mal.
El código del converter es simple
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| using System; | |
| using Windows.UI.Xaml.Data; | |
| namespace ElBruno.UI.Converters | |
| { | |
| public class UtcToLocalDateTimeConverter : IValueConverter | |
| { | |
| public object Convert(object value, Type targetType, object parameter, string language) | |
| { | |
| return DateTime.SpecifyKind(DateTime.Parse(value.ToString()), DateTimeKind.Utc).ToLocalTime(); | |
| } | |
| public object ConvertBack(object value, Type targetType, object parameter, string language) | |
| { | |
| throw new NotImplementedException(); | |
| } | |
| } | |
| } |
Y la utilización con un binding es también bastante simple
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| <Page | |
| …> | |
| <Page.Resources> | |
| <converters:UtcToLocalDateTimeConverter x:Key="UtcToLocalDateTimeConverter" /> | |
| </Page.Resources> | |
| … | |
| <TextBlock TextAlignment="Center" | |
| Run Text="{Binding SomeEntity.Date, Converter={StaticResource UtcToLocalDateTimeConverter}}" /> | |
| </TextBlock> | |
| … | |
| </Page> |
Asi que lo dejo por aquí, para no tner que irme aun Git – TFs la próxima vez a buscar donde lo utilizaba ! 😀
Saludos @ Austin VSLive
El Bruno
Leave a comment