Example #1
0
        private void SaveChanges(bool ShowRequest)
        {
            TextRange    textRange = new TextRange(richTextBox.Document.ContentStart, richTextBox.Document.ContentEnd);
            MemoryStream ms        = new MemoryStream();

            textRange.Save(ms, DataFormats.Text);
            ms.Position = 0;
            byte[] newHash = Crypto.GetMD5(ms);
            if (Crypto.CompareHash(textHash, newHash))
            {
                ms.Dispose();
                return;
            }

            if ((ShowRequest) && (MessageBox.Show(this, "Сохранить изменения", "Сохранение", MessageBoxButton.OKCancel) != MessageBoxResult.OK))
            {
                ms.Dispose();
                return;
            }

            ms.Position = 0;
            try
            {
                element.ChangeContent(ms);
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
            ms.Dispose();
            textHash = newHash;
        }