2011-01-17 5 views
4

Ich habe diese Schaltfläche:bei der Verwendung von Visual gedrückt

<Button x:Name="PrevAdIcon" Tag="-1" Visibility="Collapsed" Width="80" Height="80" Click="PrevAd"> 
    <Button.Background> 
     <ImageBrush AlignmentY="Top" Stretch="None" ImageSource="/Images/prev.png"></ImageBrush> 
    </Button.Background> 
</Button> 

Wie kann ich den Hintergrund /Images/prev-selected.png ändern, wenn ein Benutzer die Taste gedrückt? Es wird ihm ein Feedback geben, da es sich um eine WP7 App ist

, was ich habe bisher (nicht funktioniert):

<vsm:VisualState x:Name="Pressed"> 
            <Storyboard> 
             <ObjectAnimationUsingKeyFrames BeginTime="00:00:00" Duration="00:00:00.0010000" Storyboard.TargetName="Background" Storyboard.TargetProperty="Background"> 
              <DiscreteObjectKeyFrame KeyTime="0"> 
               <DiscreteObjectKeyFrame.Value> 
                <ImageBrush ImageSource="/Images/prev-selected.png" Stretch="Fill"/> 
               </DiscreteObjectKeyFrame.Value> 
              </DiscreteObjectKeyFrame> 
             </ObjectAnimationUsingKeyFrames> 
            </Storyboard> 
           </vsm:VisualState> 
+0

Ich sehe nicht, jeden Hinweis auf den Hintergrund Sie mögen wechseln (/ Bilder/i.Vj. ausgewählte funktioniert. png) in Ihrem Code. – Falanwe

+0

@Falanwe ich bearbeitet. Die ImageBrush ImageSource ist Images/prev-selected.png –

Antwort

5

Soweit ich weiß, kann man nicht den Wert der Quelle ändern Eigenschaft auf dem Image-Element mithilfe von VisualStateManager. Sie können dem ControlTemplate jedoch nur zwei Image-Elemente hinzufügen: eines für den Status "Normal" und eines für den Status "Gedrückt" und die Sichtbarkeit im Zustand "Gedrückt" umschalten.


<VisualState x:Name="Pressed"> 
    <Storyboard> 
     <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.Visibility)" Storyboard.TargetName="Img"> 
      <DiscreteObjectKeyFrame KeyTime="0" Value="Collapsed" /> 
     </ObjectAnimationUsingKeyFrames> 
     <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.Visibility)" Storyboard.TargetName="PressedImg"> 
      <DiscreteObjectKeyFrame KeyTime="0" Value="Visible" /> 
     </ObjectAnimationUsingKeyFrames> 
    </Storyboard> 
</VisualState> 
+1

+1 Danke ..... !! –

3

Um mehr Informationen zu Dereks Antwort hinzufügen, können Sie bei Gambit Antwort here für vollen XAML aussehen sollten, die

Verwandte Themen