Beispiel #1
0
        private async void Model_PropertyChanged(object sender, PropertyChangedEventArgs e)
        {
            SplitScreenModel vm = sender as SplitScreenModel;

            switch (e.PropertyName)
            {
            case nameof(vm.SplitScreenData):
                reposVideoItem();
                await reloadUI();

                break;

            case nameof(vm.IsOnEditting):
                if (vm.IsOnEditting)
                {
                    reposVideoItem();
                }
                setPanelEditStatus(!vm.IsOnEditting);
                break;

            case nameof(vm.OnSwitching):
            case nameof(vm.SwitchPaused):
                reposVideoItem();
                break;
            }
        }
Beispiel #2
0
 private void controlModelEvent(SplitScreenModel model, bool isInstall)
 {
     if (model != null)
     {
         if (isInstall)
         {
             model.PropertyChanged += SplitModel_PropertyChanged;
         }
         else
         {
             model.PropertyChanged -= SplitModel_PropertyChanged;
         }
     }
 }
Beispiel #3
0
        private async void SplitScreenPanel_DataContextChanged(object sender, DependencyPropertyChangedEventArgs e)
        {
            SplitScreenModel oldModel = e.OldValue as SplitScreenModel;

            if (oldModel != null)
            {
                oldModel.PropertyChanged -= Model_PropertyChanged;
                oldModel.DataPrepare     -= Model_DataPrepare;
            }
            SplitScreenModel newModel = e.NewValue as SplitScreenModel;

            if (newModel != null)
            {
                newModel.PropertyChanged += Model_PropertyChanged;
                newModel.DataPrepare     += Model_DataPrepare;
            }
            await reloadUI();
        }