2012-03-28 4 views
3

Ich bin mit Blick in Grid folgenden Code zu injizieren:Machen Sie UserControl "rutschen" von einer Seite eines Bildschirms?

private void OnShowNotesRequested(UserControl view) 
     { 
      if (view == null) throw new NotSupportedException("View should not be null"); 

      // Skip first GridRow - this is usually Toolbar 
      if (this.AssociatedObject.RowDefinitions.Count > 1) 
      { 
       view.SetValue(Grid.RowSpanProperty, this.AssociatedObject.RowDefinitions.Count - 1); 
       view.SetValue(Grid.RowProperty, 1); 
      } 

      view.SetValue(Grid.ColumnSpanProperty, this.AssociatedObject.ColumnDefinitions.Count == 0 ? 1 : this.AssociatedObject.ColumnDefinitions.Count); 
      view.Width = 500; 
      view.HorizontalAlignment = HorizontalAlignment.Right; 

      this.AssociatedObject.Children.Add(view); 
     } 

Grundsätzlich ist mir hinzugefügt Ansicht als Kind mit dem Grid. Es dockt an die rechte Seite an.

Ich möchte, dass es wie diese Ansicht aus der rechten Seite gleiten und stoppt. Ich habe keine Ahnung, wie ich es angehen soll und was ich tun soll, um diesen visuellen Effekt zu erzielen. Irgendwelche Hinweise darauf, was und wo ich hinzufügen muss? Vielleicht Link zu ähnlichen Effekt?

fand ich einige Animationen Code hier: http://forums.silverlight.net/t/82441.aspx

Es macht Sinn, aber wenn ich meine Ansicht verstecken - ich habe es völlig aus visueller Struktur entfernen, wie so: this.AssociatedObject.Children.Remove(view) Nicht sicher, wie man „warten“ und es dann entfernen.

+1

Ich empfehle Expression Blend. – Jordan

Antwort

1

Werfen Sie einen Blick auf das Expression Blend-Werkzeug von Microsoft, das speziell für diese Art von visuellen Effekten erstellt wurde.

Was Sie suchen, kann mit einem Storyboard erreicht werden und ist ziemlich einfach zu machen!

Nachdem das Storyboard erstellt wurde (ein Fall der Definition der Startposition und der Endposition - entsprechend der Zeit (oder Frames)), kann das Storyboard ausgelöst werden, wenn ein bestimmtes Ereignis ausgelöst wird.

Ich weiß, das ist nicht eine endgültige Antwort sind jedoch hier einige Tutorials Sie sich zu bewegen:

http://www.silverlightbuzz.com/2009/10/12/animating-with-storyboards-in-blend/ http://www.c-sharpcorner.com/uploadfile/mamta_m/creating-and-using- Storyboards-in-Blendsilverlight-Teil-i/ http://www.google.co.uk/url?sa=t&rct=j&q=&esrc=s&source=web&cd=4&ved=0CE4QFjAD&url=http%3A%2F%2Fmsdn.microsoft.com%2Fen-us%2Flibrary%2Fcc295092.aspx&ei=NDRzT42uPNS_8gPrz6xW&usg=AFQjCNGwT_hEkwGBXzS3holaM1g85I0S5Q&sig2=dSDJ6lL0CR3-nIR7WQ739g

Vielen Dank und viel Glück!

Ben

Verwandte Themen