[英]Handle binding events on addition to a collection and unbinding on removal c# - multithreaded
[英]C# Class addition to collection
using System;
using System.Windows;
using System.Collections.Generic;
using Microsoft.Research.DynamicDataDisplay.DataSources;
using System.Windows.Threading;
namespace ClassReferenceStackOverFlow
{
public partial class MainWindow : Window
{
public ObservableDataSource<StockInfo1> stockData1 = null;
public MainWindow()
{
InitializeComponent();
DateTime time = DateTime.Now;
double price = 180.00; // IBM stock price
StockInfo1 info = new StockInfo1 { Time = time, Price = price };
stockData1.AppendAsync(Dispatcher, info);
}
public class StockInfo1
{
public DateTime Time { get; set; }
public double Price { get; set; }
public double Range { get; set; }
}
}
}
我是C#/ WPF的新手。 希望跟蹤/繪制許多庫存(例如:IBM為StockInfo1)。 如何在不創建丑陋的StockInfo2,StockInfo3等的情況下完成整潔的工作? 一直在搜索並嘗試幾種選擇,但很多選擇超出了我對C#的了解。 感謝您提前提供任何指導/示例/代碼段
上一堂股票
public class Stock
{
public string Symbol { get; set; }
public ObservableCollection<StockInfo> StockInfos { get; } = new ObservableCollection<StockInfo>();
}
public class StockInfo
{
public DateTime Time { get; set; }
public double Price { get; set; }
public double Range { get; set; }
}
然后在主班
public ObservableCollection<Stock> Stocks { get; } = new ObservableCollection<Stock>();
不需要這個AppendAsync
東西
您不需要StockInfo2
只需使用列表或數組
public List<ObservableDataSource<StockInfo>> StockList = new List<ObservableDataSource<StockInfo>>();
那么你可以使用
var info = new ObservableDataSource<StockInfo>>(new StockInfo {
Time = DateTime.Now,
Price = 20
})
StockList.add(info);
將新庫存添加到您的清單
或者您編寫一個函數來添加新的StockInfo
public void addStockInfo(Double price,DateTime time){
StockList.add(new ObservableDataSource<StockInfo>>(new StockInfo {
Time = time,
Price = price
});
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.