我在Silverlight中有一個用戶控件,我試圖將其轉換爲自定義控件。 usercontrol正在工作。 customcontrol正在工作,但它的故事板不工作。自定義控件中的故事板
控制是:
public class MyControl : Control
{
public MyControl()
{
DefaultStyleKey = typeof(MyControl);
}
public static readonly DependencyProperty IsStartingProperty = DependencyProperty.Register("IsStarting", typeof(bool), typeof(MyControl), new PropertyMetadata(new PropertyChangedCallback(OnIsStartingChanged)));
private static void OnIsStartingChanged(DependencyObject obj, DependencyPropertyChangedEventArgs e)
{
MyControl control = obj as MyControl;
if (control != null && control._layoutRoot != null && control._storyboard != null)
{
if ((bool)e.NewValue)
{
control._layoutRoot.Visibility = Visibility.Visible;
control._storyboard.Begin();
}
else
{
control._layoutRoot.Visibility = Visibility.Collapsed;
control._storyboard.Stop();
}
}
}
private Canvas _layoutRoot;
private Storyboard _storyboard;
public override void OnApplyTemplate()
{
_layoutRoot = GetTemplateChild("LayoutRoot") as Canvas;
_storyboard = GetTemplateChild("IndicatorStoryboard") as Storyboard;
base.OnApplyTemplate();
}
public bool IsStarting
{
get { return (bool)GetValue(IsStartingProperty); }
set { SetValue(IsStartingProperty, value); }
}
}
在調試,control._storyboard.Begin()沒有錯誤;但是我不能看到動畫...
是否有人有想法?如何與故事板一起工作?
預先感謝任何幫助
編輯:完整的源樣本可用:http://vpclip.virtua-peanuts.net/WindowsPhoneApplication1.zip
您能提供完整的源代碼嗎?包括你的generic.xaml文件。 – 2010-11-03 12:23:52