我正在使用以下代码将视图注入Grid:
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);
}
基本上,我将视图作为孩子添加到网格中。它停靠在右侧。
我想让它看起来像这个视图从右侧滑出并停止。我不知道如何处理它,我该怎么做才能实现这种视觉效果。关于我需要添加的内容和位置的任何指示?也许链接到类似的效果?
我在这里找到了一些动画代码:http://forums.silverlight.net/t/82441.aspx
这是有道理的,但是当我隐藏我的视图时 - 我会将其从视觉树中完全删除:this.AssociatedObject.Children.Remove(view)
不确定如何“等待”然后将其删除。
答案 0 :(得分:1)
看一下Microsofts Expression Blend工具,它专门用于创建这些视觉效果。
你要做的事情可以通过故事板实现,而且非常简单!
基本上,一旦创建了故事板(根据时间(或帧)定义起始位置和结束位置的情况),您可以触发故事板在特定事件被触发时播放。
我知道这不是一个明确的答案,但是这里有一些让你感动的教程:
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-part-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
谢谢,祝你好运!
本