在我调用this.Triggers.Add(TriggerFocus)之前,一切都很正常。这个类是ContentControl的子类。
下面是我的代码:
private void CreateTriggers()
{
TriggerFocus = new MultiTrigger
{
Conditions =
{
new Condition
{
Property = IsFocusedProperty,
Value = true
},
new Condition
{
Property = IsKeyboardFocusedProperty,
Value = true
}
},
Setters =
{
new Setter
{
Property = SetFocusProperty,
Value = true
},
}
};
this.Triggers.Add(TriggerFocus);
}有什么想法吗?
下面是等价的xaml,它也会抛出一个错误:
<ContentControl.Triggers>
<MultiTrigger>
<MultiTrigger.Conditions>
<Condition Property="ContentControl.IsFocused" Value="True"/>
<Condition Property="ContentControl.IsKeyboardFocused" Value="True"/>
</MultiTrigger.Conditions>
<Setter TargetName="BorderFocus" Property="ContentControl.Visibility" Value="Visible" />
</MultiTrigger>
</ContentControl.Triggers>经过一些测试,我已经将问题隔离到上面的MultiTrigger。如果我将触发器放在模板或样式中,似乎可以很好地工作。
引发的错误信息量不大:'System.Windows.Controls.ContentControl‘的初始化引发异常
发布于 2013-04-05 18:28:15
您只能将EventTriggers放入<ContentControl.Triggers>集合中。
https://stackoverflow.com/questions/15830006
复制相似问题