2013-07-29 1 views
0

Je souhaite créer une bordure simple autour de certaines commandes pour créer un panneau stylisé. J'ai créé la bordure autour d'un contrôle mais maintenant je veux le créer de telle sorte que je puisse le réutiliser sur d'autres contrôles dans toutes les applications. J'ai créé un contrôle utilisateur pour le faire mais je n'ai pas pu obtenir le contrôle utilisateur à redimensionner au contenu. Existe-t-il un moyen de faire la même chose dans XAML, par exemple avec un ControlTemplate dans Resources.xaml?WPF Création d'une bordure personnalisée autour du contrôle

<Border Background="LightGray" 
      BorderBrush="DarkGray" 
      BorderThickness="1" 
      ClipToBounds="True" 
      Opacity="0.80"> 
     <Border Background="#25FFFFFF" 
       BorderBrush="Black" 
       BorderThickness="1" 
       Margin="-2"> 
      <Border.Effect> 
       <DropShadowEffect ShadowDepth="0" BlurRadius="10"/> 
      </Border.Effect><!--Any Control - Insert TextBlock, Button, ContentPresenter --> 
    </Border> 
    </Border> 

Répondre

1

Si je comprends bien, et la frontière ne fournit aucune valeur fonctionnelle, il est juste une décoration visuelle que vous souhaitez appliquer à certains contrôles, vous voudrez peut-être envisager une Adorner.

L'une des utilisations d'un Adorner consiste à appliquer une superposition visuelle à UIElements, ce qui semble être votre objectif ici. Cet article MSDN fournit également un exemple et une recherche simple donnera beaucoup d'exemples personnalisés Adorner.

Questions connexes