Quiero mostrarles un pequeño truco de como realizar un llamado continuo a un web service es muy útil para verificar datos o cambios en la base de datos, ojo esto no se debe usar si se desea crear un chat o cosas así puesto que es altamente ineficiente esto es algo que en realidad no se debe hacer pero aveces no tenemos el tiempo y esto es una solución rápida.
Lo que hago es generar un trigger de una animación que tiene su respectivo tiempo de ejecución y que altera cualquier propiedad del objeto:
<Image x:Name="ImageTriguer" Width="0" Height="0" Opacity="1" Source="Icons/icono.png">
<Image.Triggers>
<EventTrigger RoutedEvent="Image.Loaded" >
<BeginStoryboard>
<Storyboard x:Name="StoryBoardAnimation1">
<DoubleAnimation Completed="DoubleAnimation_Completed"
Storyboard.TargetName="ImageTriguer"
Storyboard.TargetProperty="Opacity"
From="1.0" To="0.0" Duration="0:0:20"
AutoReverse="False" BeginTime="0" />
</Storyboard>
</BeginStoryboard>
</EventTrigger>
</Image.Triggers>
</Image>
como ven debemos crear un evento en el código al momento en que se complete la animación llamado DoubleAnimation_Completed hay es donde colocaremos el llamado al servicio y luego lo que hacemos es volver a comenzar la animación con el método begin para el StoryBoard
private void DoubleAnimation_Completed(object sender, EventArgs e)
{
CallMethodWebService();
StoryBoardAnimation1.Begin();
}
como ven es un truco muy útil pero muy ineficiente y que en realidad no se debe hacer pero nos saca de apuros.
espero les sirva.