Windows Phone 8.1: Controles nuevos
Introducción
En una entrada anterior, hemos visto los
controles que han sido renombrados dentro de esta nueva forma de desarrollar en la plataforma Windows Phone.
En esta publicación veremos algunos de los controles nuevos en esta nueva versión de Windows Phone, es decir, controles que se agregan a la familia a partir de esta versión.
Controles nuevos
DatePickerFlyout
Este control permite mostrar la fecha y es un control de página completa. En caso que se quiera mostrar el selector de fecha sin utilizar el DatePicker tradicional se puede declarar este control de la siguiente manera:
var selector = new DatePickerFlyout();
var date = selector.Date;
En este control no se permite el valor
null.
TimePickerFlyout
Este control permite mostrar la porción correspondiente al tiempo y es un control de página completa. En caso que se quiera mostrar el selector de tiempo sin utilizar el TimePicker tradicional se puede declarar este control de la siguiente manera:
var selector = new TimePickerFlyout();
var tiempo = selector.Time
En este control no se permite el valor
null.
PickerFlyout
Este control representa el "flyout" normal excepto que posee la propiedad
ConfirmationButtonsVisible. Se puede establecer que muestre los botones de Hecho/Cancelar al pie de los controles, no así en
DatePickerFlyout y
TimePickerFlyout. Se puede también, establecer que afecte a la pantalla completa pero sin la utilización de botones. Un ejemplo de su utilización podría ser:
var selector = new PickerFlyout();
var texto = new TextBlock { Text = "Mi icono desplegable", FontSize = 20 };
selector.Content = texto;
selector.ConfirmationButtonsVisible = true;
await pf.ShowAtAsync(targetFrameWorkElement); //esto permite mostrar en pantalla completa
ListPickerFlyout
También es un control de pantalla completa. Muestra una lista desde la propiedad
ItemsSource, el cual puede ser cambiado utilizando plantillas
Se define de la siguiente forma:
var selector = new ListPickerFlyout();
selector.ItemsSource = origen;
await selector.ShowAtAsync(targetFrameWorkElement); //esto permite mostrar en pantalla completa.
var index = selector.SelectedIndex
AutoSuggestBox
Este control sólo existe para Windows Phone 8.1. Puede ser utilizado con otros controles y ser utilizado múltiples veces en un mismo lugar (control de usuario o página). Se define de la siguiente forma:
<AutoSuggestBox TextChanged="AutoSuggestBox_TextChanged"
SuggestionChosen="AutoSuggestBox_SuggestionChosen" ItemsSource="{Binding
Sugerencias}">
<AutoSuggestBox.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding}"/>
</DataTemplate>
</AutoSuggestBox.ItemTemplate>
</AutoSuggestBox>
private void AutoSuggestBox_TextChanged(AutoSuggestBox sender,
AutoSuggestBoxTextChangedEventArgs args)
{
if (args.Reason == AutoSuggestionBoxTextChangeReason.UserInput)
{
Sugerencias.Clear();
Sugerencias.Add(sender.Text + "1"); //sender se refiere al control que envía la solicitud (en este caso el control mismo).
Sugerencias.Add(sender.Text + "2");
}
}
private void AutoSuggestBox_SuggestionChosen(AutoSuggestBox sender,
AutoSuggestBoxSuggestionChosenEventArgs args)
{
// Agregar texto al control!
}
Conclusión
Es una lista interesante de controles que podemos utilizar con las
Aplicaciones Universales, y demuestra que tenemos muchas ventajas al realizar este tipo de aplicaciones.