我是silverlight的新手,我甚至想要在故事板完成或結束時觸發一個事件。我將如何繼續這樣做。在鼠標輸入框中,我已經有了一個觸發器。我不確定是否可以在那裏添加更多活動。 謝謝在故事板結束時觸發事件
0
A
回答
6
使用「StoryBoardComplete」行爲。您可以在「行爲」下的「資源」面板中找到它。
編輯:對不起,我從內存中趕時間和不正確的回答。當你說你是Silverlight的新手時,我應該提供更多的細節,並且我應該驗證我的答案。
更正的答案: 對行爲使用「StoryboardCompletedTrigger」。假設您想在Storyboard完成時更改Rectangle的Fill屬性。一個矩形添加到應用程序:
轉到資源面板(同一選項卡組作爲項目面板)。打開標題爲「行爲」的類別並找到「ChangePropertyAction」。
拖放一個到矩形。對象和時間線現在看起來像這樣:
注意,ChangePropertyAction項目被選中。現在去屬性面板:
在觸發區,點擊「新建」按鈕,我已經特別爲您準備。這將打開一個對話框,讓你選擇不同的TriggerType。在這種情況下,你希望有一個「StoryboardCompletedTrigger」:
填寫故事板和屬性名的值。
現在,當Storyboard1完成了矩形的填充屬性應更改爲紅色。下面是這個簡單的例子compelte XAML代碼:
<UserControl
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity" xmlns:ei="http://schemas.microsoft.com/expression/2010/interactions" mc:Ignorable="d"
x:Class="SilverlightApplication2.MainPage"
Width="640" Height="480">
<UserControl.Resources>
<Storyboard x:Name="Storyboard1">
<DoubleAnimation Duration="0:0:0.9" To="-360" Storyboard.TargetProperty="(UIElement.RenderTransform).(CompositeTransform.Rotation)" Storyboard.TargetName="rectangle" d:IsOptimized="True"/>
</Storyboard>
</UserControl.Resources>
<Grid x:Name="LayoutRoot" Background="White">
<Rectangle x:Name="rectangle" Fill="#FF0000F7" HorizontalAlignment="Left" Margin="86,133,0,225" Stroke="Black" Width="210" RenderTransformOrigin="0.5,0.5">
<Rectangle.RenderTransform>
<CompositeTransform/>
</Rectangle.RenderTransform>
<i:Interaction.Triggers>
<ei:StoryboardCompletedTrigger Storyboard="{StaticResource Storyboard1}">
<ei:ChangePropertyAction PropertyName="Fill">
<ei:ChangePropertyAction.Value>
<SolidColorBrush Color="Red"/>
</ei:ChangePropertyAction.Value>
</ei:ChangePropertyAction>
</ei:StoryboardCompletedTrigger>
</i:Interaction.Triggers>
</Rectangle>
<Button Content="Button" HorizontalAlignment="Left" Height="50" Margin="86,0,0,98" VerticalAlignment="Bottom" Width="110">
<i:Interaction.Triggers>
<i:EventTrigger EventName="Click">
<ei:ControlStoryboardAction Storyboard="{StaticResource Storyboard1}"/>
</i:EventTrigger>
</i:Interaction.Triggers>
</Button>
</Grid>
因人而異:這種方法是與行爲使用。如果不知道你的情況,我不能提出更好的建議,但這是實現你想要的典型方法。
相關問題
- 1. WPF故事板事件沒有觸發
- 2. 超時結束後觸發事件
- 3. 事件觸發器故事
- 4. 如何在事件結束時觸發事件
- 5. WPF故事板觸發在C#
- 6. 通過XAML有效結束故事板
- 7. HTML5視頻結束事件不觸發
- 8. 的Node.js流「結束」事件不觸發
- 9. 轉換結束事件未觸發
- 10. 禁用約束故事板
- 11. 故事板標籤約束
- 12. WPF/C#:故事板中的觸發器點擊事件
- 13. wpf按鈕故事板觸發器
- 14. WPF數據觸發器和故事板
- 15. 通過故事板WPF幀觸發器
- 16. WPF XAML普遍故事板觸發
- 17. iOS:故事板CollectionView不會被觸發
- 18. Emberjs:觸發HTML5上的Emberjs事件音頻「已結束」事件
- 19. 如何觸發一個事件結束後,新的事件
- 20. 故事板發行
- 21. 需要在滾動結束時觸發事件
- 22. 通話在Android中結束時會觸發什麼事件?
- 23. 需要在視頻結束時觸發事件
- 24. SWF文件結束播放時觸發事件?
- 25. 當WebView觸發的呼叫在iPhone中結束時觸發的事件/方法?
- 26. 觸摸結束事件無法在Chrome
- 27. 如何在屬性更改時觸發故事板
- 28. 「 - (id)init」在使用故事板時不會觸發ViewController
- 29. 在故事板
- 30. 在故事板
我認爲它的stroyboard.complete – Autolycus 2011-12-20 00:54:56
但我不知道如何使用它 – Autolycus 2011-12-20 00:55:05