У меня есть проблема с цепочкой классов привязки, мой listView не будет обновлять данные: здесь
упрощенный код:
private ObservableCollection<NewPosition> _ListPosition;
public ObservableCollection<NewPosition> ListPosition
{
get { return _ListPosition; }
set
{
_ListPosition = value;
OnPropertyChanged("ListPosition");
}
}
public class NewPosition
{
public int ID { get; set; }
public PosStatus Status { get; set; }
public Trade buyTrade { get; set; }
public Trade SellTrade { get; set; }
}
public class Trade
{
public double DealPrice {get ; set}
}
теперь представление
<ListView Grid.Row="1" Background="#FF232426" ItemsSource="{Binding
assetsPointCollection.ListPosition}"
Foreground="#FFF2F3F7" Margin="0,10" FontSize="10" >
<ListView.View>
<GridView>
<GridViewColumn Header="Price" Width="80" DisplayMemberBinding="{Binding buyTrade.DealPrice}" />
<GridViewColumn Header="SellPrice" Width="80"
DisplayMemberBinding="{Binding SellTrade.DealPrice}" />
</GridView>
</ListView.View>
</ListView>
</Grid>
Поэтому, когда я впервые устанавливаю dealprice и добавляю его в коллекцию, он показывает значение задания и списка просмотра;
NewPosition thisPos = new NewPosition();
var trade = new Trade()
{
DealPrice = 1000,
}
thisPos.buyTrade = trade;
ListPosition.Add(thisPos);
проблема в том, что когда я хочу позже установить NewPosition.Selltrade.Dealprice GUI не будет показывать изменения (он работает в консоли)
pos.SellTrade = new Trade{DealPrice = 1200};
так, каков "элегантный способ реализации такого кода?"