2010-06-30 23 views
1

如何爲其Value屬性爲數據綁定的ProgressBar製作動畫效果?以聲明方式在Silverlight中動態生成數據綁定進度條(無代碼隱藏)

<ProgressBar Height="25" Margin="5" Maximum="100" Value="{Binding CurrentProgress}"> 

我的數據源可能會從值跳到值,通常來自用戶輸入;例如 - 用戶執行操作,並且進度條跳轉20個點。我希望能夠爲ProgressBar.Value獲取新數字,並在動畫中平滑處理它。假設新值爲50,舊值爲20.我想要某種XAML標記來規定UI能夠平滑地從20滑動到50.

我想以聲明方式執行此操作,而不使用代碼隱藏。我相當肯定這是可能的,但我似乎無法融合在一起。我已經看過Storyboard,但不知道如何在數據更改時觸發故事板。我也研究過TransitioningContentControl,但不確定如何將轉換與ProgressBar控件關聯。

+0

你如何期待動畫工作?從目前爲止你所說的話,顯而易見的答案就是你的CurrentProgress屬性的數據源需要隨時間變化。 – 2010-07-01 10:33:36

+0

我的數據源可能會從值跳轉到值,通常來自用戶輸入;例如 - 用戶執行操作,並且進度條跳轉20個點。我覺得隨着時間的推移,在我的數據源中改變價值將需要代碼隱藏。僅在XAML標記中這可能嗎? – programatique 2010-07-01 14:23:20

回答

1

嘗試在ProgressBars模板事件TRIGER添加動畫

<EventTrigger RoutedEvent="RangeBase.ValueChanged"> 
<BeginStoryboard Storyboard="{StaticResource OnValueChanged1}"/> 
</EventTrigger>