private void addReferenceAnswerTabItem(string header, QuestionBlank blank)
        {
            TabItem tabItem = new TabItem();

            tabItem.Header = header;
            tabItem.Tag    = blank;
            tabItem.Width  = 60;
            FIBReferenceAnswerUserControl referenceAnswerControl = new FIBReferenceAnswerUserControl(blank);

            tabItem.Content = referenceAnswerControl;
            this.referenceAnswerTabCtrl.Items.Add(tabItem);
            tabItem.IsSelected = true;
        }
        private void deleteReferenceAnswerButton_Click(object sender, RoutedEventArgs e)
        {
            TabItem item = this.referenceAnswerTabCtrl.SelectedItem as TabItem;

            if (item == null)
            {
                return;
            }

            FIBReferenceAnswerUserControl fibReferenceAnswerUserControl = item.Content as FIBReferenceAnswerUserControl;

            if (fibReferenceAnswerUserControl == null)
            {
                return;
            }

            fibReferenceAnswerUserControl.deleteReferenceAnswer();
        }
        public bool Save()
        {
            if (string.IsNullOrEmpty(this.richTextEditor.Text))
            {
                MessageBox.Show("试题内容不能为空!", "填空题", MessageBoxButton.OK, MessageBoxImage.Warning);
                return(false);
            }

            if (this.referenceAnswerTabCtrl.Items.Count == 0)
            {
                MessageBox.Show("填空题至少要有一个空!", "填空题", MessageBoxButton.OK, MessageBoxImage.Warning);
                return(false);
            }

            this.fibQuestion.Content.Content     = this.richTextEditor.Text;
            this.fibQuestion.Content.ContentType = ContentType.FlowDocument;

            this.fibQuestion.QuestionBlankCollection.Clear();

            foreach (var part in this.richTextEditor.Parts)
            {
                if (this.fibQuestion.Content.Content.Contains(part.PlaceHolder))
                {
                    this.fibQuestion.Content.QuestionPartCollection.Add(part);
                }
            }

            foreach (TabItem item in this.referenceAnswerTabCtrl.Items)
            {
                this.fibQuestion.QuestionBlankCollection.Add(item.Tag as QuestionBlank);

                FIBReferenceAnswerUserControl refAnswerCtrl = item.Content as FIBReferenceAnswerUserControl;
                if (refAnswerCtrl == null)
                {
                    continue;
                }

                refAnswerCtrl.Save();
            }

            return(true);
        }