2012-02-14 5 views
1
<Style TargetType="controls:EventTimeView">  
    <Style.Triggers>   
     <Trigger Property="PositioningMethod" Value="Column" > 
      <Setter Property="Background" Value="Black" /> 
     </Trigger> 
    </Style.Triggers> 
</Style> 

PositioningMethod - свойство зависимостей EventTimeView типа перечисления.Свойство не может быть пустым для триггера

Результаты в:

System.InvalidOperationException occurred 
Message=Property can not be null on Trigger. 
Source=PresentationFramework 
StackTrace: 
    at System.Windows.StyleHelper.UpdateTables(PropertyValue& propertyValue, FrugalStructList`1& childRecordFromChildIndex, FrugalStructList`1& triggerSourceRecordFromChildIndex, FrugalStructList`1& resourceDependents, HybridDictionary& dataTriggerRecordFromBinding, HybridDictionary childIndexFromChildName, Boolean& hasInstanceValues) 
InnerException: 

Я понятия не имею, что может быть не так. Исключение слишком расплывчато: какое свойство? что такое null?

ответ

10

Дважды проверьте определение DependencyProperty для PositioningMethodProperty - убедитесь, что тип владеющим фактически класс, в котором DP определяется.

+0

Пятно на! благодаря – Zoman

0

установка свойства фона заранее в стиле, как Try:

<Style TargetType="controls:EventTimeView"> 
    <Setter Property="Background" Value="Transparent" /> 

    <Style.Triggers>   
     <Trigger Property="PositioningMethod" Value="Column" > 
      <Setter Property="Background" Value="Black" /> 
     </Trigger> 
    </Style.Triggers> 
</Style> 
+0

Не имеет значения – Abstractor