一切正常,直到我调用它.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'的初始化引发了异常
答案 0 :(得分:0)
您只能将EventTriggers放入<ContentControl.Triggers>
集合。