C# 如何在Silverlight中使用代码中的DataTrigger?
我发现了一些与WPF相关的示例,但没有一个与Silverlight相关 那么,设置in代码的工作示例是什么 下面是我目前拥有的代码,尽管它不起作用(没有异常,但在运行时不会发生任何事情):C# 如何在Silverlight中使用代码中的DataTrigger?,c#,.net,silverlight,datatrigger,C#,.net,Silverlight,Datatrigger,我发现了一些与WPF相关的示例,但没有一个与Silverlight相关 那么,设置in代码的工作示例是什么 下面是我目前拥有的代码,尽管它不起作用(没有异常,但在运行时不会发生任何事情): asset.isfocused更改并通过INotifyPropertyChanged引发更改通知尝试使用命名空间: System.Windows.Interactivity 并在“配置数据触发器”注释后添加以下内容 注: 最后,我遗漏了两个方面: 将触发器添加到笔刷: var triggers = Inte
asset.isfocused
更改并通过INotifyPropertyChanged
引发更改通知尝试使用命名空间:
System.Windows.Interactivity
并在“配置数据触发器”注释后添加以下内容
注:
最后,我遗漏了两个方面:
var triggers = Interaction.GetTriggers(fillBrush);
triggers.Add(focusTrigger);
BindingOperators.SetBinding
,而不是binding
属性设置器,在触发器上设置绑定:
var binding = new Binding("IsFocussed") { Source = asset, Mode = BindingMode.OneWay };
BindingOperations.SetBinding(focusTrigger, PropertyChangedTrigger.BindingProperty, binding);
希望这对其他人有所帮助。查看调试输出,这里的绑定似乎不正确:“IsFocused”。也许双“s”在这里是个问题?@隐形--谢谢,但这次不是这样:)
using EventTrigger = System.Windows.Interactivity.EventTrigger;
using TriggerCollection = System.Windows.Interactivity.TriggerCollection;
var triggers = Interaction.GetTriggers(fillBrush);
triggers.Add(focusTrigger);
var binding = new Binding("IsFocussed") { Source = asset, Mode = BindingMode.OneWay };
BindingOperations.SetBinding(focusTrigger, PropertyChangedTrigger.BindingProperty, binding);