2012-07-30 61 views
1

ReSharper的抱怨以下XAML:奇“依赖属性字段丢失”的错误

 <ControlTemplate.Triggers> 
      <MultiTrigger> 
      <MultiTrigger.Conditions> 
       <Condition Property="IsSelectionBoxHighlighted" Value="true"/> 
       <Condition Property="IsDropDownOpen" Value="false"/> 
      </MultiTrigger.Conditions> 

控制模板,当然,对于一个ComboBox。通过全方位检查,Resharper在IsSelectionBoxHighlighted上报告Dependency property field missing错误,但不在IsDropDownOpen上。我可能想出的唯一区别是IsSelectionBoxHighlighted是只读的,但是这应该在这种情况下有所作为?

这是一个Resharper错误,或者是在这里发生的其他事情?这对任何人都很熟悉吗?

回答

2

IsSelectionBoxHighlighted is not a DependencyProperty on the System.Windows.Controls.ComboBox class,而是它看起来是Selected ComboBoxItem的一个访问器,其中DependencyProperty被称为IsHighlighted。

The property targeted by your Trigger must be a Dependency Property

还检查了this bug report

+0

这是有道理的,在一个非常恼人的方式:-)那么,如何赫克我用它作为触发? – Stu 2012-07-30 18:45:07

+0

也就是说,从文档:此属性是一个依赖项属性。但是,IsSelectionBoxHighlighted的依赖项属性标识符字段未公开。因此,对于需要依赖项属性标识符的属性系统操作(例如对GetValue的调用),不能使用支持依赖项属性。但是,您仍然可以使用IsSelectionBoxHighlighted作为属性触发器。 – Stu 2012-07-30 18:46:13