2009-04-13 6 views
0

j'ai application où les frontières par défaut fenêtre commutées horsWPF mise en page du magasin en ressources

définition de la balise de fenêtre ressemble à ceci:

<Window x:Class="TEA.UI.MainWindow" 
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
Title="Title" WindowStyle="None" AllowsTransparency="True" Background="Transparent"> 

étiquette à l'intérieur fenêtre, il est panneau de grille, il contient plusieurs formes rectangulaires et quelques autres grilles.

Il ressemble à ceci:

<Grid> 
    <!-- WINDOW BACKGROUND --> 
    <Rectangle Stroke="#FF214E80" RadiusX="3" RadiusY="3" ClipToBounds="True"> 
     <Rectangle.Fill> 
      <LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0"> 
       <GradientStop Color="#FF193C6C" Offset="0"/> 
       <GradientStop Color="#FF2A65A4" Offset="1"/> 
      </LinearGradientBrush> 
     </Rectangle.Fill> 
    </Rectangle> 
    <!-- // WINDOW BACKGROUND --> 

    <!-- HEADER HIGHLIGHT2 --> 
    <Rectangle HorizontalAlignment="Stretch" Margin="2,2,2,0" VerticalAlignment="Top" Height="62" RadiusX="2" RadiusY="2"> 
     <Rectangle.Fill> 
      <LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0"> 
       <GradientStop Color="#00193C6C" Offset="1"/> 
       <GradientStop Color="#4C96ABC3" Offset="0"/> 
      </LinearGradientBrush> 
     </Rectangle.Fill> 
    </Rectangle> 
    <!-- // HEADER HIGHLIGHT2 --> 
<Grid> 
    .... 
</Grid> 

Ces formes rectangulaires sont utilisés dans d'autres boîtes de dialogue de fenêtre ainsi.

Mes questions sont les suivantes:

Comment serait-il possible de stocker ces recatangles à l'intérieur dictionnaire de ressources WPF?

Comment pourrais-je les référencer?

Répondre

1

En fait, la solution est assez simple WPF UserControl a fait l'affaire pour moi

0

Vous pouvez créer un style dans votre dictionnaire de ressources pour ces éléments avec des paramètres pour chaque propriété - un inclus ci-dessous.

<Style TargetType="{x:Type Rectangle}" x:Key="WindowBackground"> 
    <Setter Property="Stroke" Value="#FF214E80"/> 
</Style> 

Ensuite, dans votre fenêtre, vous pouvez référencer le style en tant que tel ..

<Rectangle Style="{StaticResource WindowBackground}"/> 
+0

Merci de votre réponse, mais cela devra créer un style séparé pour chaque rectangle. –

+0

Vos ressources sont-elles déclarées au niveau de l'application ou par projet? Si vous réutilisez vos références, vous devriez les avoir au niveau de l'application car votre utilisation de la mémoire augmentera chaque fois que vous les déclarerez par projet. Et oui, vous aurez besoin de 2 styles indépendamment. –