public partial class MainWindow : Window { public MainWindow() { InitializeComponent(); DataContext = new ViewModel(this); } } public class TimeModel : INotifyPropertyChanged { private DateTime time1; public DateTime Time1 { get { return time1; } set { time1 = value; OnPropertyChanged("Time1"); OnPropertyChanged("Time3"); } } private DateTime time2; public DateTime Time2 { get { return time2; } set { time2 = value; OnPropertyChanged("Time2"); OnPropertyChanged("Time3"); } } public DateTime Time3 { get { var date = new DateTime(Time1.Year, Time1.Month, Time1.Day, Time1.Hour + Time2.Hour, Time1.Minute + Time2.Minute, Time1.Second + Time2.Second); return date; } } public event PropertyChangedEventHandler PropertyChanged; private void OnPropertyChanged(String propertyName) { PropertyChangedEventHandler handler = PropertyChanged; if (handler != null) { handler(this, new PropertyChangedEventArgs(propertyName)); } } } public class ViewModel : INotifyPropertyChanged { private MainWindow _window; private ReportViewer _reportviewer; private ObservableCollection _testData; public ObservableCollection TestData { get { return _testData; } set { _testData = value; OnPropertyChanged("TestData"); } } public ViewModel(MainWindow win) { _window = win; this._reportviewer = _window._reportviewer; Initialize(); TestData = (ObservableCollection)TestData1; } public event PropertyChangedEventHandler PropertyChanged; private void OnPropertyChanged(String propertyName) { PropertyChangedEventHandler handler = PropertyChanged; if (handler != null) { handler(this, new PropertyChangedEventArgs(propertyName)); } } private IEnumerable TestData1 = new ObservableCollection() {new TimeModel() { Time1 = new DateTime(2022, 10, 31, 1, 0, 0), Time2 = new DateTime(2022, 10, 31, 1, 0, 0) }, new TimeModel() { Time1 = new DateTime(2022, 10, 31, 2, 0, 0), Time2 = new DateTime(2022, 10, 31, 2, 0, 0) } }; public static string ContentStart = @"Report1.rdlc"; private void Initialize() { _reportviewer.LocalReport.DataSources.Clear(); var rpds_model = new ReportDataSource() { Name = "DataSet1", Value = TestData1 }; _reportviewer.LocalReport.DataSources.Add(rpds_model); _reportviewer.LocalReport.EnableExternalImages = true; _reportviewer.LocalReport.ReportPath = ContentStart; _reportviewer.SetDisplayMode(DisplayMode.PrintLayout); _reportviewer.Refresh(); _reportviewer.RefreshReport(); } }