У меня есть ObservableCollection, который привязываться к ListView:WPF ObservableCollection элемента
private ObservableCollection<Cost> m_Costs;
public ObservableCollection<Cost> DatabaseRecords
{
get { return m_Costs; }
}
и
<ListView x:Name="ListView" ItemsSource="{Binding DatabaseRecords, UpdateSourceTrigger=PropertyChanged}">
Когда я добавить или удалить элемент пользовательского интерфейса будет обновить, это нормально. Но что, если я изменю свойство элемента в коллекции? У меня есть DataTrigger, которые обрабатывают форматирование элементов на основе их собственности:
<ListView.ItemContainerStyle>
<Style TargetType="ListViewItem">
<Style.Triggers>
<DataTrigger Binding="{Binding Status, UpdateSourceTrigger=PropertyChanged, Mode=TwoWay}" Value="Removed">
<Setter Property="Foreground" Value="Red" />
</DataTrigger>
</Style.Triggers>
</Style>
</ListView.ItemContainerStyle>
Если изменить свойство Status интерфейс не обновляется.
m_Costs[0].Status = UIStatus.Removed;
Любая идея, как я могу использовать привязку для обновления?
Как определяется ваше свойство статуса? Я думаю, что в этом случае статус должен реализовать INotifyPropertyChanged. –