我正在尝试将一个ObservableCollection绑定到UI中的图表控件,该ObservableCollection在后台线程中填充。 因此我有一个静态类“Core”,它有一个成员“DataState”。此DataState类拥有ObservableCollection“SensorData”,它填充在上述后台任务中。
由于没有可能为静态属性执行UWP XAML绑定,我编写了一个非静态包装类“DataWrapper”,它引用了静态Core.DataState.SensorData-object。
以下是我的一些代码:
Core.cs:
public static partial class Core
{
private static DataState m_DataState;
public static DataState DataState
{
get
{
return m_DataState;
}
set
{
if (value != null)
{
m_DataState = value;
}
}
}
}
DataState.cs:
public class DataState
{
private ObservableCollection<SensorData> m_SensorData = new ObservableCollection<SensorData>();
public ObservableCollection<SensorData> SensorData
{
get
{
return m_SensorData;
}
set
{
if (value != null)
m_SensorData = value;
}
}
DataWrapper.cs:
public class DataWrapper
{
public ObservableCollection<SensorData> SensorData
{
get
{
return Core.DataState.SensorData;
}
}
}
XAML:
<Charting:LineSeries Name="MySeries" Title="Title" IndependentValuePath="X" DependentValuePath="Y" ItemsSource="{x:Bind DataWrapper.SensorData}"></Charting:LineSeries>
其中X和Y是SensorData-Object中包含的变量。
所以,如果我等待显示Charting-Control,直到ObservableCollection中有一些数据,这个数据很好地绘制到我的Control中。但在此之后,最近添加的数据不再被绘制。
因此,我正在寻找一种方法将PropertyChanged-Event从Core.DataState.SensorData以某种方式路由到DataWrapper.SensorData。有可能这样做吗?
这个问题的结构对你来说是否清晰?我认为我的描述听起来有点令人困惑......
提前感谢您的帮助: - )