[英]Programmatically add MultiTrigger to ContentControl sub-class
一切正常,直到我将其称为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的初始化引发了异常
您只能将EventTriggers放入<ContentControl.Triggers>
集合中。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.