Пример #1
0
        public void Init()
        {
            Model = new ClockMCollection(MyDataFile);

            Model.Init();

            Model.IsUnsavedChanged     += TimerCollection_IsDirtyChanged;
            Model.ClockPropertyChanged += Model_ClockPropertyChanged;

            Model.ClockAdded            += Model_ClockAdded;
            Model.ClocksAdded           += Model_ClocksAdded;
            Model.BeforeRemoveAllClocks += Model_BeforeRemoveAllClocks;

            // TODO: remove these:
            Model.TimerStartedByUser += Model_TimerStartedByUser;
            Model.TimerStopped       += Model_TimerStopped;
            Model.TimerStoppedByUser += Model_TimerStoppedByUser;


            VMs = new ObservableCollection <ClockVM>();
            VMs.CollectionChanged      += VMs_CollectionChanged;
            Model.Ms.CollectionChanged += Ms_CollectionChanged;

            // TODO: keep the latest value of SelectedCount
            // and only trigger the property changed event
            // when the value changes (not on identical
            // consecutive values)
            SelectedClocks.CollectionChanged +=
                SelectedClocks_CollectionChanged;

            //MySync = new ObservableCollectionSynchronizer<ClockM>(Model.Ms);
            //MySync.Synchronize(Model.Ms, new Func<ClockM, ClockVM>((ClockM m) =>
            //{
            //    return
            //}));

            AlarmsTimer.Start();
        }