/// <summary>
        /// 執筆Viewを初期化する
        /// </summary>
        /// <param name="view">対応するビュー</param>
        public void Initialize(WritersBattleFieldView view)
        {
            _doShowMarkReviewer = false;
            _mode = ViewMode.Writing;

            // 一度Initializeしていたらここまでの処理だけでOK
            if (_hadFirstInitialize)
            {
                return;
            }

            MarkerModel = new MarkerViewModel();
            _markingReviewerViewModel    = new MarkingSelectorViewModel();
            CurrentMarkingLayerViewModel = new NullMarkingLayerViewModel();

            // View設定
            _writersBFView    = view;
            _markingLayerView = view.GetMarkingLayerView();


            _markingReviewerViewModel.SetView(_writersBFView.MarkReviewer, _writersBFView.Editor);

            // Binding
            _writersBFView.BindModel(this);
            _markingLayerView.BindModel(this);

            CurrentMarkingLayerViewModel.SetView(_markingLayerView);
            CurrentMarkingLayerViewModel.WritersModel = this;

            // Event
            EventAggregator.MoveDocumentIndexEventRised += OnMoveDocumentIndex;
            EventAggregator.ReplaceEventRised           += OnReplaceWordEvent;

            _hadFirstInitialize = true;
        }
        public void BindModel(WritersBattleFieldViewModel model)
        {
            _model = model;
            _markerModel = _model.MarkerModel;

            _editor.SetText(model.Text);

            BaseGrid.DataContext = model;
            // スクロール時のイベントを登録する
            HookScrollEvent();

            _editor.TextChanged += _editor_TextChanged;
            _editor.TextSearchOccured += _editor_TextSearchOccured;
        }
        /// <summary>
        /// 執筆Viewを初期化する
        /// </summary>
        /// <param name="view">対応するビュー</param>
        public void Initialize(WritersBattleFieldView view)
        {
            _doShowMarkReviewer = false;
            _mode = ViewMode.Writing;

            // 一度Initializeしていたらここまでの処理だけでOK
            if (_hadFirstInitialize)
            {
                return;
            }

            MarkerModel = new MarkerViewModel();
            _markingReviewerViewModel = new MarkingSelectorViewModel();
            CurrentMarkingLayerViewModel = new NullMarkingLayerViewModel();

            // View設定
            _writersBFView = view;
            _markingLayerView = view.GetMarkingLayerView();

            _markingReviewerViewModel.SetView(_writersBFView.MarkReviewer, _writersBFView.Editor);

            // Binding
            _writersBFView.BindModel(this);
            _markingLayerView.BindModel(this);

            CurrentMarkingLayerViewModel.SetView(_markingLayerView);
            CurrentMarkingLayerViewModel.WritersModel = this;

            // Event
            EventAggregator.MoveDocumentIndexEventRised += OnMoveDocumentIndex;
            EventAggregator.ReplaceEventRised += OnReplaceWordEvent;

            _hadFirstInitialize = true;
        }