Bonjour,

Tout d'abord, je débute en silverlight et j'ai un peu de mal à trouver mes repères.
Je dois créer un contrôle silverlight qui serait facilement surchargeable. Je m'explique, l'utilisateur implementant ce contrôles dans sont page.xaml devrait pouvoir modifier les attributs de cette façon :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
<Local:SlideView Name="SlideCtrl" Background="Aqua" />
Et dans ce cas la couleur d'arrière plan serait changer par celle spécifié.

Voici le code de mon contrôle :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
<UserControl x:Class="SilverlightApp.SlideView"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             Width="300" Height="auto"
             HorizontalAlignment="Right">
 
    <Canvas Width="300" Height="auto"
                RenderTransformOrigin="0.5,0.5" 
                x:Name="SlidePanel"
                HorizontalAlignment="Right"
                Opacity="0"> 
 
        <Canvas.Resources> 
            <Storyboard x:Name="SlideExpand">
                <DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetName="SlidePanel" Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[3].(TranslateTransform.X)">
                    <SplineDoubleKeyFrame KeyTime="00:00:00" Value="300"/>
                    <SplineDoubleKeyFrame KeyTime="00:00:00.5000000" Value="0"/>
                </DoubleAnimationUsingKeyFrames>
            </Storyboard>
 
            <Storyboard x:Name="SlideCollapse">
                <DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetName="SlidePanel" Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[3].(TranslateTransform.X)">
                    <SplineDoubleKeyFrame KeyTime="00:00:00" Value="0"/>
                    <SplineDoubleKeyFrame KeyTime="00:00:00.5000000" Value="300"/>
                </DoubleAnimationUsingKeyFrames>
            </Storyboard>
        </Canvas.Resources>
 
            <Canvas.RenderTransform>
                <TransformGroup>
                    <ScaleTransform ScaleX="1" ScaleY="1"/>
                    <SkewTransform AngleX="0" AngleY="0"/>
                    <RotateTransform Angle="0"/>
                    <TranslateTransform X="0" Y="0"/>
                </TransformGroup>
            </Canvas.RenderTransform>
 
        </Canvas>
 
</UserControl>
J'ai lu sur le net que beaucoup faisait cela en surchargeant la méthode onApplyTemplate() et en utilisant un fichier de "ressourceDictionnary" (generic.xaml), mais je souhaiterais éviter de devoir passer par le code behind pour modifier les valeurs des Attributs.

Si quelqu'un pouvait m'aider ou même m'aiguiller j'en serais ravi.

Merci