2013-06-10 25 views
7

Tôi mới đến WPF và cố gắng điều khiển người dùng tùy chỉnh thành hoạt ảnh dựa trên DependencyProperty. Tôi có nó ràng buộc để sử dụng một DataTrigger. Nếu DependencyProperty bằng Thất bại, nó sẽ tạo hiệu ứng tô màu của hình chữ nhật (có tên là buttonColor) trong điều khiển người dùng. Vì một lý do nào đó, nó luôn luôn lặp đi lặp lại ngay cả khi tôi đặt RepeatBehavior thành 6 (hoặc bất kỳ số nào khác bao gồm 1 cho vấn đề đó). Nếu tôi xóa thuộc tính RepeatBehavior, nó chỉ phát hoạt ảnh một lần (như mong đợi). Tôi sẽ đánh giá cao nếu có ai đó có thể xem đoạn trích XAML của tôi bên dưới và cho tôi biết tôi đang làm gì sai.Hoạt ảnh trên Bảng phân cảnh WPF lặp lại mãi mãi ngay cả với RepeatBehavior = "6"

<DataTrigger Binding="{Binding Path=ButtonAction.Status}" Value="Failure"> 
    <DataTrigger.EnterActions> 
     <StopStoryboard BeginStoryboardName="Pulse"/> 

     <BeginStoryboard> 
      <Storyboard RepeatBehavior="1"> 
       <ColorAnimation Storyboard.TargetName="buttonColor" Storyboard.TargetProperty="Fill.Color" To="{StaticResource FailedColor}" AutoReverse="True" /> 
      </Storyboard> 
     </BeginStoryboard> 
    </DataTrigger.EnterActions> 
</DataTrigger> 

Trả lời

28

Cú pháp đúng để lặp lại N lần là:

<Storyboard RepeatBehavior="Nx"> 

ví dụ:

<Storyboard RepeatBehavior="6x"> 
+0

Ah cảm ơn bạn đã khắc phục sự cố của mình. Ngoại trừ để lưu ý rằng nó phải là một trường hợp thấp hơn 'x' – AXG1010

+0

@ AXG1010 sửa chữa đó. Cảm ơn –

0

Việc đặt giá trị thời gian cũng sẽ hạn chế các hành vi lặp lại vì nó được ưu tiên. Vì vậy, nếu bạn có hành vi lặp lại được đặt trên thẻ ColorAnimationUsingKeyFrames nhưng trên bảng phân cảnh bạn đặt Thời lượng = "0: 0: 4" thì hoạt ảnh sẽ chỉ lặp lại trong 4 giây.

Các vấn đề liên quan