У меня на форме есть ListView который сбиндин с коллекцией List находящейся во ViewModel
<ListView Grid.Row="1"
ItemsSource="{Binding Path=Call_list, UpdateSourceTrigger=PropertyChanged}"
SelectedIndex="{Binding Path=Call_selected_index, UpdateSourceTrigger=PropertyChanged}"
PreviewMouseLeftButtonUp="ListView_Call_Selected">
<ListView.View>
<GridView>
<GridViewColumn Header="Call" Width="100" DisplayMemberBinding="{Binding Path=Name}"/>
<GridViewColumn Header="Strike" Width="100" DisplayMemberBinding="{Binding Path=Strike}"/>
<GridViewColumn Header="Bid" Width="100" DisplayMemberBinding="{Binding Path=Bid}"/>
<GridViewColumn Header="Ask" Width="100" DisplayMemberBinding="{Binding Path=Ask}"/>
<GridViewColumn Header="Theoretical price" Width="100" DisplayMemberBinding="{Binding Path=TheoreticalPrice}"/>
<GridViewColumn Header="Last" Width="100" DisplayMemberBinding="{Binding Path=Last}"/>
<GridViewColumn Header="Volume total" Width="100" DisplayMemberBinding="{Binding Path=Volume}"/>
<GridViewColumn Header="Volume Bid" Width="100" DisplayMemberBinding="{Binding Path=ValumeBid}"/>
<GridViewColumn Header="Volume Ask" Width="100" DisplayMemberBinding="{Binding Path=VolumeAsk}"/>
<GridViewColumn Header="OI" Width="100" DisplayMemberBinding="{Binding Path=OI}"/>
<GridViewColumn Header="Delta" Width="100" DisplayMemberBinding="{Binding Path=Delta}"/>
<GridViewColumn Header="Vega" Width="100" DisplayMemberBinding="{Binding Path=Vega}"/>
<GridViewColumn Header="Gamma" Width="100" DisplayMemberBinding="{Binding Path=Gamma}"/>
<GridViewColumn Header="Thetta" Width="100" DisplayMemberBinding="{Binding Path=Thetta}"/>
</GridView>
</ListView.View>
</ListView>
ViewModel сделал следующим образом:
class OptionDeskManager : INotifyPropertyChanged
{
public List<Desk_DataItems> Call_list { get; set; } = new List<Desk_DataItems>();
public event PropertyChangedEventHandler PropertyChanged;
protected void NotifyPropertyChanged(string propertyName)
{
PropertyChanged?.Invoke(this, new
protected void NotifyPropertyChanged(string propertyName)
{
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
}PropertyChangedEventArgs(propertyName));
}
}
После перезаполнения коллекции Call_list - я вызываю NotifyPropertyChange("Call_list");
однако коллекция не обновляется. Я выбрал List вместо ObservableCollection так как мне иногда нужно просто обновлять данные не перезаписывая коллекцию,соответственно именно для этого и подписываю View на событие PropertyChanged.
Т.е. я единожды заполняю коллекцию, затем просто изменяю некоторые из ее элементов. к примеру Call_list[0].Delta= 0.5; NotifyPropertyChange("Call_list");
как то так
Однако коллекция не обновляется. помогите разобраться где у меня недочет ?
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Не могу разобраться как получить список объектов в коллайдереНюанс в том, что несколько объектов появляются одновременно и ОнТриггерИнтео...
Использую WPF и паттерн MVVMХочу передать из одной viewmodel в другую значения(допустим текст)
Подскажите пожалуйста как записать данные в объект класса в формы DataGridViewМне нужно считать все строки с формы для дальнейшей сериализации
Имеется базовый класс для формы и собственно форма, которая его наследует: