2010-02-23 4 views

Répondre

0

Supprimez simplement l'image de son conteneur, créez la bordure, ajoutez l'image en tant qu'enfant de la bordure et ajoutez la bordure au conteneur où se trouvait l'image. Si vous êtes coincé, envoyez un code postal et je vous aiderai à l'adapter, mais cela ne devrait pas être difficile du tout. Vous pouvez tout faire dans le code-behind.

+0

Merci mike, mais cela créera un problème ailleurs dans mon code. Y a-t-il un moyen de faire de la frontière l'enfant de l'Image? – user279244

1

Il y a beaucoup de façons. Je recommande quelque chose comme ça, en utilisant xaml.

<Border BorderThickness="2"> 
    <Border.BorderBrush> 
     <SolidColorBrush Color="LightGray" Opacity="{Binding Path=IsSelected, Converter={StaticResource BooleanToDouble}}"/> 
    </Border.BorderBrush> 
    <Image Source="{Binding Path=ImageUri}"/> 
</Border> 

DataContext de ce bloc doit posséder la propriété IsSelected ou quelque chose comme ceci. Aussi, vous devez implémenter un IValueConverter pour convertir true à 1 et false à 0.

+0

C'est une solution beaucoup plus élégante. –

+0

Bonne idée, mais il me manque un élément qui a une propriété IsSelected ou quelque chose comme ça. Une idée? Actuellement, j'ai la frontière et à l'intérieur de la frontière j'ai une image, mais les deux manquent quelque chose comme IsSelected): –

+0

@stefan, IsSelected est une propriété du contexte de données, qui est un objet de calque modèle conçu par vous-même (lire MVVM ou Modèles MVC). –

Questions connexes