2010-12-13 3 views

Répondre

0

Chaque Control dans Silvelright a une propriété IsEnabled. Cela peut être utilisé pour définir un état activé/désactivé qui peut ensuite être stylé en tant que tel dans XAML (couche sur le bouton pour signaler qu'il est désactivé par exemple). Image ne dérive cependant pas de Control et n'a donc pas la propriété IsEnabled.

Vous pouvez soit créer une classe personnalisée Image qui prendra soin d'appliquer le dit comportement en utilisant le VisualStateManager.

Vous pouvez également créer un UserControl personnalisé qui peut encapsuler le comportement que vous recherchez; faire usage des deux images et basculer entre elles en fonction d'une propriété exposée; c'est-à-dire ... IsEnabled.

Vous pouvez également utiliser la route Image.Source comme vous l'avez fait dans JS qui va changer l'image affichée; pousser la logique ailleurs et ensuite changer la source dans le code derrière.

0

Sinon, vous pouvez envelopper l'image dans un contrôle de lien hypertexte (en supposant que vous devez gérer un événement de clic), et définissez la propriété IsEnabled du lien:

<HyperlinkButton x:Name="btnSave" Click="btnSave_Click" IsEnabled="False"> 
    <Image Source="/YourNamespace;component/Images/Icons/Save.png" Stretch="Fill"/> 
</HyperlinkButton> 
Questions connexes