我正在Windows 8.1 RTM上開發。我有一個類型爲double的自定義依賴屬性的自定義控件。該控件已放置在用戶控件中。我在用戶控件上調用VisualStateManager.GoToState(control,true)。動畫應該轉換2秒。但是,它只是從0到1和從1到0捕獲。回調函數只能用0或1調用。如果直接將依賴項屬性設置爲介於0和1之間的任何值,則它將按預期工作。動畫在視覺狀態下不動畫(WinRT)
我有以下XAML:
<UserControl xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:controls="using:MyControls" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<Grid>
<VisualStateManager.VisualStateGroups>
<VisualStateGroup x:Name="TestStates">
<VisualStateGroup.Transitions>
<VisualTransition GeneratedDuration="0:0:2"/>
</VisualStateGroup.Transitions>
<VisualState x:Name="A">
<Storyboard>
<DoubleAnimation
EnableDependentAnimation="True"
Duration="0"
Storyboard.TargetName="MyControl1"
Storyboard.TargetProperty="MyDependencyProperty"
To="0"/>
</Storyboard>
</VisualState>
<VisualState x:Name="B">
<Storyboard>
<DoubleAnimation
EnableDependentAnimation="True"
Duration="0"
Storyboard.TargetName="MyControl1"
Storyboard.TargetProperty="MyDependencyProperty"
To="1"/>
</Storyboard>
</VisualState>
</VisualStateGroup>
</VisualStateManager.VisualStateGroups>
<controls:MyControl x:Name="MyControl1" MyDependencyProperty="0">
</Grid>
</UserControl>
如果我設定的目標屬性不透明度,它的工作原理。
回顧前面的問題,EnableDependentAnimation似乎是這種行爲的常見罪魁禍首,但我已經將它設置爲true。
Timeline.AllowDependentAnimations爲true。
我已經剝奪了控制權,只有一個依賴項屬性沒有在回調邏輯。同樣的問題。
感謝您的信息,但它沒有一個是有關我的問題。 – Brendon
我知道這是反應舊但是,提供了有用的信息。謝謝。值得注意的是,WinRT自定義依賴項屬性應該使用DiscreteObjectKeyFrame進行動畫處理。謝謝 :) –