2009-11-23 7 views
2

У меня есть ComboBox, связанный с свойством ViewModel под названием Property.DataTrigger не работает должным образом

Property - это TypeDescriptor.

Когда пользователь меняет значение в ComboBox, обновляется Property.

На UI я хотел бы, чтобы скрыть или сделать видимыми различные элементы управления: текстовое поле, выпадающий, выбора даты и т.д.

Проблема, DataTrigger не работает, как ожидалось.

<Style x:Key="textboxStyle" 
       TargetType="{x:Type TextBox}"> 
      <Style.Triggers> 
       <DataTrigger Binding="{Binding Path=Property.PropertyType}" 
          Value="{x:Type Type={x:Type sys:String}}"> 
        <Setter Property="Visibility" 
          Value="Visible" /> 
       </DataTrigger> 
      </Style.Triggers> 
     </Style> 
+1

WPF не знает, изменился ли PropertyType или нет. Это не ДП. –

ответ

0

Возможно, вам понадобится написать конвертер, который вызывается при изменении значения свойства. Конвертер может быть преобразователем TypeDescriptior to Visibility. Причина, по которой вышеуказанное не работает, заключается в том, что «PropertyType» не запускает INotifyPropertyChanged.

Смежные вопросы