LƯU Ý Tôi đã hỏi những câu hỏi liên quan (với một câu trả lời được chấp nhận): How to combine DataTrigger and Trigger?Làm thế nào để kết hợp DataTrigger và EventTrigger?
Tôi nghĩ tôi cần phải kết hợp một EventTrigger
và DataTrigger
để đạt được những gì tôi sau:
- khi một mục xuất hiện trong ListBox của tôi, nó sẽ nhấp nháy trong một vài khoảnh khắc
- nếu mặt hàng là 'Quan trọng' thì nó sẽ vẫn được đánh dấu
Hiện nay tôi có một DataTemplate trông như thế này:
<DataTemplate DataType="{x:Type Notifications:NotificationViewModel}">
<Grid HorizontalAlignment="Stretch">
<Border Name="Background" CornerRadius="8" Background="#80c0c0c0" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" />
<Border Name="Highlight" CornerRadius="8" Background="Red" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" />
<!-- snip actual visual stuff -->
<Grid.Triggers>
<EventTrigger RoutedEvent="Grid.Loaded">
<EventTrigger.Actions>
<BeginStoryboard>
<Storyboard>
<DoubleAnimation x:Name="LoadedAnimation"
Storyboard.TargetName="Highlight"
Storyboard.TargetProperty="Opacity"
From="0" To="1"
RepeatBehavior="5x"
Duration="0:00:0.2"
AutoReverse="True" />
</Storyboard>
</BeginStoryboard>
</EventTrigger.Actions>
</EventTrigger>
</Grid.Triggers>
</Grid>
<DataTemplate.Triggers>
<DataTrigger Binding="{Binding Path=IsCritical}" Value="True">
<Setter TargetName="LoadedAnimation" Property="RepeatBehavior" Value="5.5x" />
</DataTrigger>
</DataTemplate.Triggers>
</DataTemplate>
Ý tưởng là một EventTrigger sinh động opacity Highlight
biên giới của giữa 0 và 1 và ngược lại nhiều lần khi mục được nạp đầu tiên, vẽ sự chú ý của người dùng đối với nó. DataTrigger
xác định số lần hoạt ảnh. Nếu mô hình xem báo cáo rằng mục IsCritical
thì hoạt ảnh xảy ra 5,5 lần (sao cho nó kết thúc ở độ mờ 1), nếu không nó xảy ra 5 lần (kết thúc ở độ mờ đục 0.)
Tuy nhiên, XAML trên không hoạt động vì thiết lập của DataTrigger không thành công với:
Trẻ em có tên 'LoadedAnimation' không được tìm thấy trong VisualTree.
Đủ công bằng. Vì vậy, nhút nhát khi sử dụng trình chuyển đổi giá trị tùy chỉnh hoặc đặt số lượng hoạt ảnh trên mô hình chế độ xem và liên kết với nó, các tùy chọn của tôi là gì?
Có thể hữu ích http://stackoverflow.com/questions/2764415/how-to-give-the-condition-for-eventtrigger –