سؤال

أنا قادر على تحميل مستند rtf في RichTextBox، لكن الروابط التي يحتوي عليها المستند لبعض مواقع الويب لا تعمل.هل لدى أي شخص أي فكرة لماذا؟بعض الحلول لجعل الروابط تعمل؟

أطيب التحيات،
باولو أزيفيدو

هل كانت مفيدة؟

المحلول

لا يفهم WPF بشكل افتراضي المكان الذي تريد عرض الارتباطات فيه، لذا فإن ما يحدث هو أن فئة الارتباط التشعبي تطلق حدثًا، طلب التنقل, ، ونتوقع منك، كمصمم التطبيق، أن تتسبب في حدوث التنقل الفعلي.

أفترض أنك تريد فقط تشغيل متصفح الويب الذي تم تكوينه بواسطة النظام، لذا إليك كل ما عليك فعله:

  1. ربط الارتباط التشعبي::RequestNavigate حدث موجه
  2. يتصل العملية.ابدأ باستخدام عنوان URL الذي تتلقاه ليقوم نظام التشغيل بتشغيل المتصفح.

قد يبدو هذا شيئًا مثل هذا:

public class MyWindow : Window
{
    public MyWindow()
    {
        this.InitializeComponent();

        this.myRichTextBox.AddHandler(Hyperlink.RequestNavigate, MyWidow.HandleRequestNavigate);
    }

    private static void HandleRequestNavigate(object sender, RequestNavigateEventArgs args)
    {
            Process.Start(args.Uri.ToString());
    }
}

نصائح أخرى

وهنا هو أحد السبل التي حلت الروابط في ملفات نصية الغنية.

<وأ href = "http://www.rhyous.com/2011/08/01/loading-a-richtextbox-from-an-rtf-file-using-binding-or-a-richtextfile-control/ "يختلط =" نوفولو "> تحميل RichTextBox من ملف RTF باستخدام ملزمة أو عنصر تحكم RichTextFile

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top