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(); }
public XamlView(IXamlViewModel dataContext) { InitializeComponent(); this.DataContext = dataContext; }