0

私はシルバーライトを初めて使用しているため、ストーリーボードが壊れても終了してもトリガーしたい。どうすればそれをやるのだろうか。私はすでにマウス入力時にストーリーボードに1つのトリガーを持っています。私はそこにもっと多くの出来事を加えることができるかどうか分からない。 ありがとうストーリーボードの端でイベントをトリガーする

+0

私はそのstroyboard.complete – Autolycus

+0

と思うが、私はそれを使用する方法がわからない – Autolycus

答えて

6

"StoryBoardComplete"ビヘイビアを使用してください。アセットパネルの "ビヘイビア"にあります。

編集:申し訳ありませんが、私は急いで、間違ってメモリから答えました。 Silverlightの初心者だと言ったらもっと詳しく説明するべきだったし、答えを確認しておくべきだった。

修正された回答: ビヘイビアに「StoryboardCompletedTrigger」を使用します。ストーリーボードが完了したら、RectangleのFillプロパティを変更したいとしましょう。アプリケーションに四角形を追加します。

enter image description here

は、アセット]パネル(プロジェクトパネルと同じタブグループ)に移動します。 「Behaviors」というカテゴリを開き、「ChangePropertyAction」を探します。

enter image description here

ドラッグ&長方形にいずれかをドロップ。オブジェクトとタイムラインは、今では次のようになります。ChangePropertyAction項目が選択されていることを

enter image description here

注意を。今、[プロパティ]パネルにアクセスしてください:トリガーのセクションで

enter image description here

、私はあなたのために強調されてきた「新規」ボタンをクリックしてください。ダイアログが開き、別のTriggerTypeを選択できます。この場合、あなたは "StoryboardCompletedTrigger" をしたい:

enter image description here

は、ストーリーボードとPropertyName意味値を入力します。

enter image description here

Storyboard1が完了したときに今のRectangleのFillプロパティは赤に変わります。ここでは、この単純な例のため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> 

YMMV:このアプローチは、行動で使用するためです。あなたの状況を知らないと、私はより良い勧告をすることはできませんが、これはあなたが望むものを達成するための典型的な方法です。

関連する問題