8,757
社区成员
发帖
与我相关
我的任务
分享
class Record
{
DateTime date;
int num;
}
List<Record> recordlist = new List<Record>();
chartcontrol.datasource = recordlist;
<dxc:ChartControl x:Name="chartcontrol1" HorizontalAlignment="Left" VerticalAlignment="Top">
<dxc:ChartControl.Diagram>
<dxc:XYDiagram2D SeriesDataMember="date">
<dxc:LineSeries2D ArgumentDataMember="date" ValueDataMember="num" />
<dxc:XYDiagram2D.AxisX>
<dxc:AxisX2D Interlaced="True">
<dxc:AxisX2D.DateTimeScaleOptions>
<dxc:ContinuousDateTimeScaleOptions></dxc:ContinuousDateTimeScaleOptions>
</dxc:AxisX2D.DateTimeScaleOptions>
</dxc:AxisX2D>
</dxc:XYDiagram2D.AxisX>
</dxc:XYDiagram2D>
</dxc:ChartControl.Diagram>
<dxc:ChartControl.Legend>
<dxc:Legend />
</dxc:ChartControl.Legend>
</dxc:ChartControl>




public event PropertyChangedEventHandler PropertyChanged=delegate{};
public void OnChangeProperty(string name)
{
PropertyChanged.Invoke(this, new PropertyChangedEventArgs(name));
}
这样在定义 属性的时候:
private ObservableCollection<Record> records = new ObservableCollection<Record>();
public ObservableCollection<Record> ListRecord
{
get
{
return records;
}
set
{
records = value;
OnChangeProperty("ListRecord"); // 使用更新方法
}
}
比如窗体类实现INotifyPropertyChanged接口:
public partial class xxxxxWindow : Window, INotifyPropertyChanged
// 省略部分代码
这个时候必须在窗体类的默认构造函数里指定 该窗体的 数据上下为 DataContext:
public xxxxxWindow()
{
this.DataContext = this;
InitializeComponent();
}
这样就可以使用Binding方式 设置数据源以及各种属性。 在xaml中使用Binding 到对应集合就可以完成 数据变化通知!很容易理解,希望花几分钟理解,而不是代码粘贴过去实现功能就行了。[/quote]
好的 很感谢你的耐心指导~ 我去尝试一下 binding的方法,虽然我已经用了ObservableCollection在后端去datasource = recordlist, 也能够正常使用,但是不知为何 我软件运行一段时间就卡着不动了,看任务管理器也没有内存占用100% 可否解释一下为何卡死。
public event PropertyChangedEventHandler PropertyChanged=delegate{};
public void OnChangeProperty(string name)
{
PropertyChanged.Invoke(this, new PropertyChangedEventArgs(name));
}
这样在定义 属性的时候:
private ObservableCollection<Record> records = new ObservableCollection<Record>();
public ObservableCollection<Record> ListRecord
{
get
{
return records;
}
set
{
records = value;
OnChangeProperty("ListRecord"); // 使用更新方法
}
}
比如窗体类实现INotifyPropertyChanged接口:
public partial class xxxxxWindow : Window, INotifyPropertyChanged
// 省略部分代码
这个时候必须在窗体类的默认构造函数里指定 该窗体的 数据上下为 DataContext:
public xxxxxWindow()
{
this.DataContext = this;
InitializeComponent();
}
这样就可以使用Binding方式 设置数据源以及各种属性。 在xaml中使用Binding 到对应集合就可以完成 数据变化通知!很容易理解,希望花几分钟理解,而不是代码粘贴过去实现功能就行了。