На первый взгляд задача похожа на Отрицательный номер текстового блока WPF, выделенный красным цветом
В моем случае я должен отображать ItemsControl
коллекцию очков. Каждая точка имеет несколько свойств типа NumericValue, которые в конечном итоге являются оболочкой для Nullable<double>
.
public class Point
{
NumericValue Proposal { get; set; }
NumericValue Accepted { get; set; }
NumericValue Approved { get; set; }
... etc.
}
Я отображаю все эти свойства Point как текстовые поля. Класс NumericValue имеет свойство IsNegative, и я хочу, чтобы передний план соответствующего текстового поля был красным, если IsNegative = True.
Однако я бы предпочел не определять это правило в стиле для каждого отдельного TextBox, а создать единый стиль с DataTrigger, привязанным к IsNegative.
Упрощенный XAML выглядит так, как показано ниже.
<ItemsControl ItemsSource="{Binding Path=Points}">
...
<TextBox Text="{Binding Path=Data.Proposal.Value}" ... />
<TextBox Text="{Binding Path=Data.Accepted.Value}" ... />
...
</ItemsControl>
Пожалуйста, помогите мне с определением привязки для DataTrigger этого единственного стиля.
Data
является точкой, привязка будет{Binding Data.IsNegative}
(что здесь эквивалентно{Binding Path=Data.IsNegative}
). Если привязка ничего не делает, попробуйте отладить. - person H.B.   schedule 15.05.2012