2015-04-13 14 views
12

Şu anda AvalonEdit'i bir HTML WYSIWYG/"Kaynak Kodu" yan yana editöründe uygulamak için çalışıyorum. Kullanıcı Tasarım Modundan (RichTextBox) Kaynak Moduna (AvalonEdit TextEditor) geçtiğinde, RTB'den XAML, HTML'ye dönüştürülür ve TextEditor.Document.Text özelliğine yazılır.AvalonEdit :: UndoStack'taki durumu nasıl korurum?

Bu, geri alma yığınını temizler.

Belgenin durumunu UndoStack'a nasıl gönderebilirim? Böylece kullanıcı "geri dönebilir"? Bir RunUpdate() IDisposable yazma işlemini kaydırma denedim ama işe yaramadı:

using (var _ = TextEditor.Document.RunUpdate()) 
{ 
    TextEditor.Document.Text = html; 
} 

Herhangi yardım büyük takdir.

cevap

0

Birkaç yıl geç olduğu için, doğrudan soruyu cevaplayıp cevaplamadığından emin değilim. Bununla birlikte, AvalonEdit'in geçerli sürümü TextEditor.Text ayarı geri alma kümesini temizleyecek, ancak TextEditor.Document.Text değiştirmeyecektir. (Bu, asker tarafından gözlemlenen davranışa ters düşmektedir, bu nedenle belki de birkaç yıl içinde değişmiştir). Kaynak kodu baktığımızda, TextEditor.Document.Text yüzden belki de benzer bir çağrı bile kütüphanede eski sürümlerinde çalışacak

this.Replace(0, this.TextLength, value); 

kod eşdeğer yürütmek görünmektedir.