Data binding 将PropertyChanged事件从静态ObservableCollection路由到非静态包装类
我正在尝试将一个ObservableCollection(填充在后台线程中)绑定到UI中的图表控件。 因此,我有一个静态类“Core”,它有一个成员“DataState”。这个DataState类拥有ObservableCollection“SensorData”,它填充在前面提到的后台任务中 由于不可能对静态属性进行UWP XAML绑定,我编写了一个包装类“DataWrapper”,它是非静态的,并引用静态Core.DataState.SensorData-object 以下是我的一些代码: Core.cs:Data binding 将PropertyChanged事件从静态ObservableCollection路由到非静态包装类,data-binding,static,uwp-xaml,windowsiot,windows-iot-core-10,Data Binding,Static,Uwp Xaml,Windowsiot,Windows Iot Core 10,我正在尝试将一个ObservableCollection(填充在后台线程中)绑定到UI中的图表控件。 因此,我有一个静态类“Core”,它有一个成员“DataState”。这个DataState类拥有ObservableCollection“SensorData”,它填充在前面提到的后台任务中 由于不可能对静态属性进行UWP XAML绑定,我编写了一个包装类“DataWrapper”,它是非静态的,并引用静态Core.DataState.SensorData-object 以下是我的一些代码:
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;
}
}
公共类数据状态
{
私有ObservableCollection m_SensorData=新ObservableCollection();
公共可观测收集传感器数据
{
得到
{
返回m_传感器数据;
}
设置
{
if(值!=null)
m_传感器数据=数值;
}
}
DataWrapper.cs:
public class DataWrapper
{
public ObservableCollection<SensorData> SensorData
{
get
{
return Core.DataState.SensorData;
}
}
}
公共类数据包装器
{
公共可观测收集传感器数据
{
得到
{
返回Core.DataState.SensorData;
}
}
}
XAML:
其中X和Y是传感器数据对象中包含的变量
因此,如果我等待显示图表控件,直到ObservaleCollection中有一些数据,这些数据就会很好地绘制到我的控件中。但是在这之后,最近添加的数据就不再绘制了
因此,我正在寻找一种将PropertyChanged事件从Core.DataState.SensorData以某种方式路由到DataWrapper.SensorData的方法。是否有可能这样做
你清楚这个问题的结构吗?我觉得我的描述听起来有点混乱
提前感谢您的帮助:-)有人有什么想法吗?我对问题的描述是否过于混乱?这是您可以参考的问题。
<Charting:LineSeries Name="MySeries" Title="Title" IndependentValuePath="X" DependentValuePath="Y" ItemsSource="{x:Bind DataWrapper.SensorData}"></Charting:LineSeries>