DataTrigger
существует в ControlTemplate
DataTrigger не стрельбы при связывании свойства зависимостей изменения
<DataTrigger
Binding="{Binding RelativeSource={RelativeSource Mode=TemplatedParent},
Path=(ui:TreeViewItemHeader.IsDragTarget)}"
Value="True">
<Setter TargetName="PART_Content" Property="Foreground" Value="Red" />
</DataTrigger>
Связанная собственность, IsDragTarget, является вложенным свойством, которое кодируется, чтобы пользовательский класс управления:
public static readonly DependencyProperty IsDragTargetProperty = DependencyProperty.RegisterAttached
("IsDragTarget",
typeof(bool),
typeof(TreeViewItemHeader),
new FrameworkPropertyMetadata(false, FrameworkPropertyMetadataOptions.AffectsRender));
public static void SetIsDragTarget(DependencyObject self, bool value)
{
self.SetValue(IsDragTargetProperty, value);
}
public static bool GetIsDragTarget(DependencyObject self)
{
return (bool)self.GetValue(IsDragTargetProperty);
}
Проблема может быть описана, что только DataTrigger
разрешает значение один раз, когда элемент управления инициализируется. Обновление значения свойства не переворачивает DataTrigger.
неисправностей выполняется:
- Заготовка
IValueConverter
"возвращаемое значение" был добавлен к связыванию; методIValueConverter.Convert
вызывается только один раз. - Отладка была выполнена для проверки того, что значение прикрепленного свойства изменено.
- Недвижимость
DataTrigger.Value
была установлена вFalse
- начальная стоимость прилагаемого имущества; Setters запускаются один раз, когда элемент управления инициализируется. Последующие изменения свойства не сработали DataTrigger. - Окно выхода Visual Studio не показывает никаких предупреждений о выражении привязки.
Определяет ли параметр 'PART_Content' цвет переднего плана в определении' '? Если это так, это значение перезапишет любые вызванные значения –
Rachel
@ Rachel- Нет, это не так, но спасибо. –