【问题标题】:WPF - using IsInitialized as Property Trigger failsWPF - 使用 IsInitialized 作为属性触发器失败
【发布时间】:2011-07-06 11:11:30
【问题描述】:

该对象是一个 ListBoxItem,尽管我也尝试过使用 Panel。

我收到此错误消息:Property can not be null on Trigger.,在 InvalidOperationException 内。

这里是触发器:

<Trigger Property="IsInitialized" Value="true">
    <Setter TargetName="MyPanel" Property="Background" Value="AliceBlue">
    </Setter>
</Trigger>

注意:我不能使用Loaded,因为我不希望在呈现控件时触发它。刚刚初始化。

此属性存在...为什么不起作用?

【问题讨论】:

    标签: wpf properties triggers


    【解决方案1】:

    这是因为IsInitialized 属性不是Dependency Property。触发器只能与依赖属性一起使用。

    但问题是您为什么需要这样的触发器?因为只要在MyPanel上直接指定Background属性或者以`ListBoxItem'的样式就可以达到同样的效果。

    【讨论】:

    • 感谢您的回复!实际上,我认为我的问题应该是另一个问题......我想知道是否需要打开另一个问题......我有一个 ObservableCollection 和一个绑定到它的 ListBox。我将触发器设置为 IsSelected,所以如果我选择一个项目,它就会变成蓝色。但是,当我直接更改项目时(如在 List[1] = something 中),会发生一些有趣的事情。即使我单击其他项目,它也会保持选中状态。这是为什么呢?
    • @Conrad - 不客气 :) 至于你的第二个问题,你最好为此创建另一个帖子,我会尝试调查它。
    猜你喜欢
    • 2013-02-16
    • 2016-11-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多