首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >以编程方式向ContentControl子类添加MultiTrigger

以编程方式向ContentControl子类添加MultiTrigger
EN

Stack Overflow用户
提问于 2013-04-05 17:12:41
回答 1查看 155关注 0票数 0

在我调用this.Triggers.Add(TriggerFocus)之前,一切都很正常。这个类是ContentControl的子类。

下面是我的代码:

代码语言:javascript
复制
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,它也会抛出一个错误:

代码语言:javascript
复制
<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‘的初始化引发异常

EN

回答 1

Stack Overflow用户

发布于 2013-04-05 18:28:15

您只能将EventTriggers放入<ContentControl.Triggers>集合中。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15830006

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档