Nova4Phone

31. août 2010

Allez hop une nouvelle vidéo de teasing sur Nova4Phone:

Unleashed the power of the Windows Phone 7

L’idée de cette vidéo est de montrer le processus créatif et les usages de Nova4Phone.

N’hésitez pas à venir liker Nova4Phone sur Facebook:
http://www.facebook.com/home.php#!/video/video.php?v=461276955395

3D, Windows Phone, Nova

David en Katakana

20. août 2010

image

Et oui ca calme:). Je donne une formation à une société japonaise et un des mes gentils stagiaires m’a appris à écrire mon prénom.

Ca fait exotique, j’adore.

Divers

Nova4Phone sur Développeurs

17. août 2010

Allez hop grâce au talent de réalisateur de Christopher Maneu, nous avons mis en ligne sur facebook une courte vidéo autour de Nova4Phone dans le cadre du concours Développeurs.

http://www.facebook.com/video/video.php?v=1413141241316&oid=129459787073480

Si vous avez un compte Facebook, je compte sur vous pour venir dire que vous l’aimez (“liker” comme disent les jeunes) afin que je me la pète grave si je gagne!

Nova , ,

Rajouter un événement sur le changement d’une DependencyProperty avec Silverlight pour Windows Phone 7

16. août 2010

La problématique est la suivante : J’ai une DependencyProperty dans une application Silverlight et cette dernière n’a pas d’événement lorsque sa valeur change.

Or, il faut que dans mon application je sois notifié sinon ca ne marchera pas.

Quel cruel dilemne! D’autant plus qu’en WPF je n’aurai aucun mal à faire cela puisque je pourrai directement me brancher dessus en tant qu’owner ou bien encore récupérer ses métadatas et rajouter un événement.

Mais sous Windows Phone 7, point de tout cela. Heureusement il existe (au moins) une solution (je dis au moins, car au bureau on veut me faire croire qu’il existerait d’autres solutions mais plus élégantes. Comme pour le moment ils n’ont rien trouvé, je publie la mienne:))

 

Nous allons tout simplement faire un binding entre la propriété que je veux surveiller et une DependencyProperty que je vais créer et ou je pourrais sans problème indiquer un événement. Ainsi quand ma propriété d’origine va changer, le binding va automatiquement changer ma propriété de surveillance qui me lèvera gentiment un événement.

En code cela donne donc ceci:

using System;
using System.Windows;
using System.Windows.Data;
using Microsoft.Phone.Controls;

namespace WindowsPhoneApplication1
{
    public class DependencyProperyWatcher<T> : DependencyObject
    {
        public event EventHandler ValueChanged;
        public static readonly DependencyProperty property = 
DependencyProperty.Register("Value", typeof(T),
typeof(DependencyProperyWatcher<T>), new PropertyMetadata(OnvalueChanged)); static void OnvalueChanged(DependencyObject d,
DependencyPropertyChangedEventArgs e) { ((DependencyProperyWatcher<T>) d).RaiseValueChanged(); } public DependencyProperyWatcher(DependencyObject d, string propName) { var bnd = new Binding(propName) { Source = d, Mode = BindingMode.OneWay }; BindingOperations.SetBinding(this, property, bnd); } void RaiseValueChanged() { if (ValueChanged != null) ValueChanged(this, EventArgs.Empty); } } public partial class MainPage : PhoneApplicationPage { // Constructor public MainPage() { InitializeComponent(); } public void test() { DependencyProperyWatcher<double> toto =
new DependencyProperyWatcher<double>(this, "Width"); } } }

 

Via ma variable toto, je peux avoir accès à un événement qui sera levé à chaque fois que la propriété Width de ma page changera !

Windows Phone, Silverlight, .Net ,