[英]Set custom attached property on StoryBoard
我有一個故事板,並希望設置附加屬性VisualStateUtility.InitialState。 我嘗試了各種組合,但財產永遠不會得到解決。
我收到以下錯誤: 無法解析TargetProperty(VisualStateUtility.InitialState)
如何在Storyboard上設置自定義附加屬性的值?
<ObjectAnimationUsingKeyFrames Duration="0" Storyboard.TargetProperty="(Fully.Qualified.Namespace.VisualStateUtility.InitialState)" Storyboard.TargetName="ExpanderButton">
public static string GetInitialState(DependencyObject obj)
{
return (string)obj.GetValue(InitialStateProperty);
}
public static void SetInitialState(DependencyObject obj, string value)
{
obj.SetValue(InitialStateProperty, value);
}
// Using a DependencyProperty as the backing store for InitialState. This enables animation, styling, binding, etc...
public static readonly DependencyProperty InitialStateProperty =
DependencyProperty.RegisterAttached("InitialState", typeof(string), typeof(VisualStateUtility), new PropertyMetadata(null,OnInitialStatePropertyChanged));
這應該可以解決問題
<ObjectAnimationUsingKeyFrames x:Name="animation" Duration="0" Storyboard.TargetProperty="xmlnsAlias:VisualStateUtility.InitialState" Storyboard.TargetName="ExpanderButton">
注意如何將名稱添加到動畫中,從目標屬性名稱中刪除括號,然后使用xaml標頭中的xmlns別名作為前綴。
在你的代碼背后,你必須添加這個:
InitializeComponent();
Storyboard.SetTargetProperty(animation, new PropertyPath(Fully.Qualified.Namespace.VisualStateUtility.InitialState));
顯然,最后一步是動畫自定義附加屬性所必需的。 如果你問我,真的很痛苦。
我碰到了這個:
http://forums.silverlight.net/t/182227.aspx
另一位用戶說它不受支持。
Frank Lan寫道:
嗨,這是一個眾所周知的問題。 解決方法似乎是:從代碼而不是xaml動畫自定義附加屬性。 對由此問題造成的任何不便,我們深表歉意。 Frank Lan Microsoft在線社區支持
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.