Я нашел несколько примеров, относящихся к WPF, но ни одного для Silverlight.
Итак, что является рабочим примером настройки Microsoft.Expression.Interactivity.Core.DataTrigger
в коде?
Вот код, который у меня сейчас есть, хотя он не работает (без исключений, но во время выполнения ничего не происходит):
// Set up a storyboard
var duration = new Duration(TimeSpan.FromMilliseconds(400));
var animation = new ColorAnimation
{
To = Colors.White,
RepeatBehavior = RepeatBehavior.Forever,
AutoReverse = true,
Duration = duration
};
var sb = new Storyboard
{
RepeatBehavior = RepeatBehavior.Forever,
AutoReverse = true,
Duration = duration
};
sb.Children.Add(animation);
Storyboard.SetTarget(animation, fillBrush);
Storyboard.SetTargetProperty(animation, new PropertyPath("(SolidColorBrush.Color)"));
// Configure the data trigger
var focusTrigger = new DataTrigger
{
Binding = new Binding("IsFocussed")
{
Source = asset,
Mode = BindingMode.OneWay
},
Value = true
};
focusTrigger.Actions.Add(new ControlStoryboardAction
{
Storyboard = sb,
ControlStoryboardOption = ControlStoryboardOption.Play,
IsEnabled = true
});
asset.IsFocussed
изменяет и вызывает уведомления об изменениях через INotifyPropertyChanged
.