문제

나는 스토리보드(1)는 몇 가지 기본적인 애니메이션에서 2 개의 초입니다.내가 원하는 스토리보드(1)모든 애니메이션 시설 내가 그것을 설정하(이 모든 작업 괜찮습니다).하지만에서 3 초로 스토리보드(1)고 싶은 시작한 스토리보드(2)및 종료보(1)사용자 상호 작용없이다.

만 일을 할 수있는 나를 이렇게 때 클릭을 추가할 수 있습니다.내가 이것을 원하는 것을 자동적인 위치를 기반으로 현재 스토리보드(1)니다.

이 충분한 감각입니다.알려주시기 바랍해야 하는 경우 나를 설명하는 무언가를 전하고 있다.

감사합니다.

편집:게시하시기 바랍에 대한 답 XAML 나 VB.net 언어입니다.:)

도움이 되었습니까?

해결책 3

잘 나는 솔루션입니다.나는 그냥 양산 새로운 스레드를 기다리의 3 초과한 다음에는 호출을 실행하는 스토리보드에서는 스레드가 있습니다.

    Dim board As Storyboard = New Storyboard
    board = DirectCast(TryFindResource("DoSplit"), Storyboard)
    If board IsNot Nothing Then
        board.Begin(Me, True)

        Dim t As Thread
        t = New Thread(AddressOf Me.WaitToHidePanel)
        t.SetApartmentState(ApartmentState.STA)
        t.Start()

    End If

당신의 스레드에 안전한 대표단 및 기능고 있습니다.그것은 추한 해킹에 내 의견만,그것은 작품이다.

다른 팁

일반적으로 제어하기 위해서는 애니메이션을하는 동안 타임라인을 사용하는 것이"키프레임".키프레임 애니메이션을 정의할 수 있는 특정한 속성 값은 애니메이션은 특정 시간에.에 WPF 모든 애니메이션에 해당하는 키 프레임에 애니메이션,다음과 같'doubleanimation 을'은'DoubleAnimationUsingKeyFrames'.

나는 생각하지 않을 시작하는 것이 가능하다 새로운 스토리보드 내에서 애니메이션이다.그러나 당신은 동일한 결과를 얻을 수 있습함으로써 모두의 스토리보드와 같은 타임라인에 시작 스토리보드(2)특정 지연기간에 따라 스토리보드(1).다음과 같습니다.

<StackPanel>
    <Rectangle Name="recProgressBar"
               Fill="Orange"
               Width="1"
               Height="25"
               Margin="20"
               HorizontalAlignment="Left" />
    <Button Content="Start Animation"
            Width="150"
            Height="25">
        <Button.Triggers>
            <EventTrigger RoutedEvent="Button.Click">
                <BeginStoryboard>
                    <Storyboard>
                        <DoubleAnimation Storyboard.TargetName="recProgressBar"
                                         Storyboard.TargetProperty="Width"
                                         From="0"
                                         To="250"
                                         Duration="0:0:2" />
                        <Storyboard BeginTime="0:0:3">
                            <ColorAnimation Storyboard.TargetName="recProgressBar"
                                            Storyboard.TargetProperty="Fill.Color"
                                            To="DarkGreen"
                                            Duration="0:0:1" />
                        </Storyboard>
                    </Storyboard>
                </BeginStoryboard>
            </EventTrigger>
        </Button.Triggers>
    </Button>
</StackPanel>

여기에는 색상 애니메이션이 시작됩 1 초 후에 너비 애니메이션을 완료했습니다.그것은 가치가 있을 수 있습니다.

감사 Megakemp,그 무엇이었을 두려워하지 않습니다.내가 하고 싶지 않았을 관리하는 두 개의 복사본에서 스토리보드 XAML.가 있는 경우를 추가하 제어 및 관리를 통해 스토리보드(1)나는 것을 기억해야를 복사하고 붙여넣의 변경 다른 스토리보드(2).나는 그가 농구를 통해 이동 될 때까지는 기능을 제공하는 내가 찾고 있습니다.

지금 나는 생각하의 또 다른 아이디어를 하려고 하지만 할 수 없을 얻을 수 있습니다.이는 내 생각이 아래,내가 그것을 잘 설명할 수 있는 코드에서..이 아래 코드를 컴파일되지 않을,그것을 얻을 내립니다.

Dim board As Storyboard = New Storyboard
board = DirectCast(TryFindResource("Animation1"), Storyboard)
If board IsNot Nothing Then
    board.Begin(Me)
    While board.GetCurrentState(Me) = ClockState.Active
        'Wait until Animation1 ends
    End While
    'Start Animation2
    board = DirectCast(TryFindResource("Animation2"), Storyboard)
    If board IsNot Nothing Then
        board.Begin(Me)
    End If
End If

당신의 도움을 위한 감사합니다..과하는 경우 다른 사람은 다른 답변 또는 통찰력을 더 망설이지 않는 게시물에,나는 포기하지 않습이 아이디어 아직 완전히.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top