= $u_time + 86400) { $modifiedDate = get_the_modified_time('F jS, Y'); echo 'Última modificación: '.$modifiedDate.''; } }?>

SearchBox

Quizá un SearchBox puede parecer algo simple, pero una vez te pones a desarrollarlo te puedes llegar a encontrar con algunas dificultades. Por ello, que mejor que un pequeño tutorial para hacerlo en un momento:

Incluir en el proyecto Behaviors SDK.

Incluir namespaces:

xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:interactivity ="using:Microsoft.Xaml.Interactivity"
xmlns: core="using:Microsoft.Xaml.Interactions.Core"

 

Añadir Control:

<SearchBox SearchHistoryEnabled ="False">
     <interactivity: Interaction.Behaviors>
           <core: EventTriggerBehavior EventName="QuerySubmitted">
               <core: InvokeCommandAction Command="{Binding FindCommand}"
                    InputConverter="{StaticResource QueryToString}"/>
          </core: EventTriggerBehavior>
     </interactivity: Interaction.Behaviors>
</SearchBox>

 

Converter para evitar que, al hacer una búsqueda sin introducir ningún carácter, de error:

public class QueryToStringConverter : IValueConverter
{
    public object Convert( object value, Type targetType, object parameter, string language)
    {
        string queryText = null;
        var eventArgs = value as SearchBoxQuerySubmittedEventArgs;
        
        if (eventArgs != null)
        {
            queryText = eventArgs.QueryText;
        }
        return queryText;
    }
    public object ConvertBack( object value, Type targetType, object parameter, string language)
    {
        return null;
    }
}

 

Añadir converter a los recursos de la página:

xmlns:converters ="using:SearchBoxControl.Sample.W81.Converters"

    <Page.Resources>
        <converters:QueryToStringConverter x: Key="QueryToString" />
    </Page.Resources >

 

Finalmente implementa el método “FindCommand” en tu ViewModel:

private void OnFind(string text)
{
    this.ConfirmationText = CONFIRMATION_TEXT + text;
    this.RaisePropertyChanged(()=>this.ConfirmationText);
}

 

E inicializa el comando en el constructor:

this.FindCommand = new RelayCommand<string>(this.OnFind);

 

Puedes descargarte el ejemplo en el siguiente enlace:SearchBoxControl.Sample.W81

Leave a Reply

Your email address will not be published. Required fields are marked *