Beispiel #1
0
        public WDUCLViewModel()
        {
            _isReadOnly     = true;
            AllowClosePanel = true;
            Errors          = new ObservableCollection <DesignerErrorDefinition>();

            //STUB: не делаем Flush
            //узнаем об изменении модели здесь
            _designerViewModel = IoC.Instance.Resolve <IDesignerViewModel>();
            _designerViewModel.SurfaceChanged += delegate
            {
                ((IDesignerSurface)_designerViewModel.CurrentSurface).Designer.ModelChanged += delegate
                {
                    var xml = GetXamlValue(Source);
                    SetXamlValue(Source, " ");
                    SetXamlValue(Source, xml);
                };
            };
            _xamlViewModel = new XamlViewModel(_designerViewModel);
            _xamlViewModel.Document.TextChanged += delegate
            {
                SetXamlValue(Source, _xamlViewModel.Document.Text);
            };

            if (Commands == null)
            {
                Commands = new List <ICommand>();
            }

            NewCommand            = new DelegateCustomCommand(New, CanNew);
            OpenCommand           = new DelegateCustomCommand(Open, CanOpen);
            SaveToFileCommand     = new DelegateCustomCommand(SaveToFile, CanSaveToFile);
            CompileCommand        = new DelegateCustomCommand(Compile, CanCompile);
            RunCommand            = new DelegateCustomCommand(Run, CanRun);
            FullScreenModeCommand = new DelegateCustomCommand(FullScreenModeChange);

            Commands.AddRange(new[] { NewCommand, OpenCommand, SaveToFileCommand, SaveCommand, CompileCommand, RunCommand, FullScreenModeCommand });

            RiseCommandsCanExecuteChanged();
        }
Beispiel #2
0
 public XamlView(IXamlViewModel dataContext)
 {
     InitializeComponent();
     this.DataContext = dataContext;
 }