private static void OnTableBodyItemsChanged(DependencyObject o, DependencyPropertyChangedEventArgs e) { HeadLeftReport control = (HeadLeftReport)o; control.UpdateTemplate(); //数据加载完成后,要重绘报表 if (e.NewValue is ILoadable) { ILoadable obj = (ILoadable)e.NewValue; obj.DataLoaded += (o1, e1) => { control.UpdateTableBody(); control.UpdateTableTail(); }; } }
private static void OnTableHeaderItemsChanged(DependencyObject o, DependencyPropertyChangedEventArgs e) { HeadLeftReport control = (HeadLeftReport)o; ICollection value = (ICollection)e.NewValue; //先用现有数据更新一次表头,当表头数据加载完成后,用新的表头数据再次更新表头 if (value.Count != 0) { control.UpdateHeader(); } if (value is ILoadable) { ILoadable obj = (ILoadable)value; obj.DataLoaded += (o1, e1) => { control.UpdateHeader(); }; } }
private static void OnTableLeftTemplateChanged(DependencyObject o, DependencyPropertyChangedEventArgs e) { HeadLeftReport control = (HeadLeftReport)o; control.UpdateLeft(); }