IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Windows Presentation Foundation Discussion :

WPF et ressources partagées


Sujet :

Windows Presentation Foundation

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    362
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 362
    Par défaut WPF et ressources partagées
    Bonjour au forum,

    Je debute avec WPF et j'ai qq soucis pour sa mise en œuvre. J'utilise un type de bouton modifié pour mon appli. C'est une ressource du type:
    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
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
     
    <ControlTemplate x:Key="GlassButton" TargetType="{x:Type Button}">
                <ControlTemplate.Resources>
                    <Storyboard x:Key="Timeline1">
                        <DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetName="glow" Storyboard.TargetProperty="(UIElement.Opacity)">
                            <SplineDoubleKeyFrame KeyTime="00:00:00.3000000" Value="1"/>
                        </DoubleAnimationUsingKeyFrames>
                    </Storyboard>
                    <Storyboard x:Key="Timeline2">
                        <DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetName="glow" Storyboard.TargetProperty="(UIElement.Opacity)">
                            <SplineDoubleKeyFrame KeyTime="00:00:00.3000000" Value="0"/>
                        </DoubleAnimationUsingKeyFrames>
                    </Storyboard>
                </ControlTemplate.Resources>
                <Border BorderBrush="#FFFFFFFF" BorderThickness="1,1,1,1" CornerRadius="4,4,4,4">
                    <Border x:Name="border" Background="#7F000000" BorderBrush="#FF000000" BorderThickness="1,1,1,1" CornerRadius="4,4,4,4">
                        <Grid>
                            <Grid.RowDefinitions>
                                <RowDefinition Height="0.507*"/>
                                <RowDefinition Height="0.493*"/>
                            </Grid.RowDefinitions>
                            <Border Opacity="0" HorizontalAlignment="Stretch" x:Name="glow" Width="Auto" Grid.RowSpan="2" CornerRadius="4,4,4,4">
                                <Border.Background>
                                    <RadialGradientBrush>
                                        <RadialGradientBrush.RelativeTransform>
                                            <TransformGroup>
                                                <ScaleTransform ScaleX="1.702" ScaleY="2.243"/>
                                                <SkewTransform AngleX="0" AngleY="0"/>
                                                <RotateTransform Angle="0"/>
                                                <TranslateTransform X="-0.368" Y="-0.152"/>
                                            </TransformGroup>
                                        </RadialGradientBrush.RelativeTransform>
                                        <GradientStop Color="#B28DBDFF" Offset="0"/>
                                        <GradientStop Color="#008DBDFF" Offset="1"/>
                                    </RadialGradientBrush>
                                </Border.Background>
                            </Border>
                            <ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Center" Width="Auto" Grid.RowSpan="2"/>
                            <Border HorizontalAlignment="Stretch" Margin="0,0,0,0" x:Name="shine" Width="Auto" CornerRadius="4,4,0,0">
                                <Border.Background>
                                    <LinearGradientBrush EndPoint="0.494,0.889" StartPoint="0.494,0.028">
                                        <GradientStop Color="#99FFFFFF" Offset="0"/>
                                        <GradientStop Color="#33FFFFFF" Offset="1"/>
                                    </LinearGradientBrush>
                                </Border.Background>
                            </Border>
                        </Grid>
                    </Border>
                </Border>
                <ControlTemplate.Triggers>
                    <Trigger Property="IsPressed" Value="True">
                        <Setter Property="Opacity" TargetName="shine" Value="0.4"/>
                        <Setter Property="Background" TargetName="border" Value="#CC000000"/>
                        <Setter Property="Visibility" TargetName="glow" Value="Hidden"/>
                    </Trigger>
                    <Trigger Property="IsMouseOver" Value="True">
                        <Trigger.EnterActions>
                            <BeginStoryboard Storyboard="{StaticResource Timeline1}"/>
                        </Trigger.EnterActions>
                        <Trigger.ExitActions>
                            <BeginStoryboard x:Name="Timeline2_BeginStoryboard" Storyboard="{StaticResource Timeline2}"/>
                        </Trigger.ExitActions>
                    </Trigger>
                </ControlTemplate.Triggers>
            </ControlTemplate>
    quand les ressources des boutons sont sur la même form que les bouton eux mêmes, cela fonctionne et la page1.xaml apparait dans la frame. je l'appelle dans ma form xaml sous cette forme:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
     <Button Name="bouton1"  HorizontalAlignment="Left" Margin="10,0,0,350" VerticalAlignment="Bottom" Width="150" Height="40" Content="Button1" Foreground="#FFFFFFFF" Template="{DynamicResource  GlassButton}" Command="NavigationCommands.GoToPage" CommandParameter="Page1.xaml" CommandTarget="{Binding ElementName=frmContent}" />
    Par contre si les ressources des boutons sont dans un dictionnaire de ressource alors le bouton et visible mais non cliquable et sans effet graphique.
    j'utilise cet appel:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    <Window.Resources>
            <ResourceDictionary>
                <ResourceDictionary.MergedDictionaries>
                    <ResourceDictionary Source="Ressources\GlassButton.xaml"/>
                </ResourceDictionary.MergedDictionaries>
            </ResourceDictionary>
        </Window.Resources>
     
        <Grid>
            <Button Name="bouton1"  HorizontalAlignment="Left" Margin="10,0,0,350" VerticalAlignment="Bottom" Width="150" Height="40" Content="Button1" Foreground="#FFFFFFFF" Template="{DynamicResource  GlassButton}" Command="NavigationCommands.GoToPage" CommandParameter="Page1.xaml" CommandTarget="{Binding ElementName=frmContent}" />
    De plus ce type de bouton n'est pas affichage dans la Page1.xaml
    qu'est ce que je fais de mal?

    merci pour votre aide

  2. #2
    Membre Expert
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 562
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 562
    Par défaut
    tu devrais essayer pour comprendre les style d'utiliser blend

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    362
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 362
    Par défaut
    oui c'est sur mais.... blend est payant non?

  4. #4
    Membre Expert
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 562
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 562
    Par défaut
    la version 3 est gratuite en beta pour le moment

Discussions similaires

  1. Threads et ressource partagée !
    Par myryad dans le forum Concurrence et multi-thread
    Réponses: 3
    Dernier message: 19/06/2008, 13h28
  2. Ressources partagées entre projets
    Par fterf dans le forum C#
    Réponses: 3
    Dernier message: 03/01/2008, 11h32
  3. Fenetres et ressources partagées
    Par buzzkaido dans le forum Windows
    Réponses: 20
    Dernier message: 06/06/2007, 08h38
  4. Réponses: 2
    Dernier message: 22/12/2006, 10h38
  5. [Réseau][ressource partagée]Autentification
    Par heid dans le forum API, COM et SDKs
    Réponses: 7
    Dernier message: 12/11/2003, 16h00

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo