Bir kullanıcının bir numaralı telefondan mevcut düzeltme konumunda başka bir metin yerleştirmesine izin vermesi gereken bir uygulama yapıyorum. Bu teknikle genelinde çalıştırmadan önce FlowDocument
'ın nesne modeli düşüp kalkıyor zaman sürü geçirdi - source
ve target
hem FlowDocument
ler şunlardır:Satır içi içeriği bir FlowDocument öğesinden diğerine nasıl eklenir?
using (MemoryStream ms = new MemoryStream())
{
TextRange tr = new TextRange(source.ContentStart, source.ContentEnd);
tr.Save(ms, DataFormats.Xaml);
ms.Seek(0, SeekOrigin.Begin);
tr = new TextRange(target.CaretPosition, target.CaretPosition);
tr.Load(ms, DataFormats.Xaml);
}
Bu iyi derece çalışır.
Şu anda sahip olduğum tek sorun, kaynağın her zaman yeni bir paragraf olarak eklenmesidir. Geçerli koşuyu (veya her neyse) çarpanda koparır, kaynağı ekler ve paragrafı sonlandırır. Bu kaynak aslında bir paragraf (veya birden fazla paragraf), ancak bir metin satırı (varsa) değilse, bu uygun olur.
Sanırım bunun cevabının tamamen tek bir bloktan oluşup oluşmadığını görmek için hedefi kontrol etmek olduğu ve eğer varsa, TextRange
'un başlangıç ve bitiş noktasını belirlemesidir. bloğun içeriğini akışa kaydetmeden önce.
FlowDocument
'un tüm dünyası, karanlık gizemlerin benim için bir deniz olduğunu. Gerekirse bir uzman olabilirim (Dostoyevski'ye göre: "İnsan herhangi bir şeye alışabilen hayvandır."), Ama birisi bunu zaten anladıysa ve bunu nasıl yapacağımı söylerse bu benim hayat çok daha kolay.
Aslında can önce Git ve doğru olup olmadığını kontrol et, ama sanırım şu an tam da tam burada olduğum gibi görünüyor ve bilgileri takdir ediyorum. –