Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / WPF RichTextBox / 10 сообщений из 10, страница 1 из 1
23.09.2009, 16:16
    #36213024
prBoris
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
WPF RichTextBox
как программно добавить текст в RichTextBox
я так понял как то так
Код: plaintext
1.
te_RichTextBox.Document.Blocks.Add()

а как Block создать что то не понял!
...
Рейтинг: 0 / 0
23.09.2009, 16:34
    #36213083
МСУ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
WPF RichTextBox
Код
Код: plaintext
1.
2.
3.
4.
5.
FlowDocument document = new FlowDocument();
Paragraph paragraph = new Paragraph();
paragraph.Inlines.AddRange("bured ");
paragraph.Inlines.Add(new Bold(new Run("замечательный чилавек!")));
document.Blocks.Add(paragraph);
te_RichTextBox.Document = document;
...
Рейтинг: 0 / 0
24.09.2009, 10:30
    #36214205
prBoris
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
WPF RichTextBox
МСУ,

а как добавить текст допустим "http://sql.ru/forum/actualpost.aspx?bid=34&tid=697955&mid=7698869&p=1" что бы он отображался как гиперссылка ?
...
Рейтинг: 0 / 0
24.09.2009, 21:26
    #36216053
МСУ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
WPF RichTextBox
Код: plaintext
<RichTextBox Name="control" IsDocumentEnabled="True" />

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
FlowDocument document = new FlowDocument();
Paragraph paragraph = new Paragraph();
Hyperlink link = new Hyperlink(new Run("Ссылка"));
link.NavigateUri = new Uri("http://sql.ru/forum/actualpost.aspx?bid=34&tid=697955&mid=7698869&p=1");
link.RequestNavigate += new RequestNavigateEventHandler(delegate(object obj, RequestNavigateEventArgs nav)
{
    Process.Start("IExplore.exe", nav.Uri.OriginalString);
});
paragraph.Inlines.Add(link);
document.Blocks.Add(paragraph);
control.Document = document;
...
Рейтинг: 0 / 0
25.09.2009, 15:38
    #36217647
prBoris
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
WPF RichTextBox
МСУ,

что то страшное получается с ссылкой после сохранения в rtf
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
 TextRange range;
            FileStream fStream;

            if (File.Exists(saveWord))
            {
                File.Delete(saveWord);
            }
            range = new TextRange(te_RichTextBox.Document.ContentStart, te_RichTextBox.Document.ContentEnd);
            fStream = new FileStream(saveWord, FileMode.Create);
            range.Save(fStream, DataFormats.Rtf);
            fStream.Close();
            System.Diagnostics.Process.Start(saveWord);

первая передаем такую ссылку http://funtik/sites/zf/market/opu/gm/jstrizhkova/стан_зад_яння_в_льно___мност_.xls
а в ворде наблюдаем такое дело
...
Рейтинг: 0 / 0
28.09.2009, 10:16
    #36219873
prBoris
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
WPF RichTextBox
надо менять структуру сохранения файла ? что бы как то кодировку указывать или Hyperlink по другому присваивать URL
...
Рейтинг: 0 / 0
28.09.2009, 11:31
    #36220066
prBoris
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
WPF RichTextBox
можно пойти кривым путем
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
range = new TextRange(te_RichTextBox.Document.ContentStart, te_RichTextBox.Document.ContentEnd);
MemoryStream ms = new MemoryStream();
            range.Save(ms, DataFormats.Rtf);
            string rtfString = System.Text.ASCIIEncoding.Default.GetString(ms.ToArray());
            string[] UrlSplit = rtfString.Split(new char[] { '"' });
            int index = 0;
            for (int i = 0; i < UrlSplit.Length; i++)
            {
                string replase = UrlSplit[i];
                if (replase.Contains("http://"))
                {
                    rtfString = rtfString.Replace(replase, url[index]);
                    index++;
                }
            }

но в документах Rtf допустим
ссылка HYPERLINK "http://funtik/sites/zf/market/opu/gm/jstrizhkova/стан_зад_яння_в_льно___мност_.xls"
в Rtf выглядит так
HYPERLINK "http://funtik/sites/zf/market/opu/gm/jstrizhkova/\'f1\'f2\'e0\'ed_\'e7\'e0\'e4_\'ff\'ed\'ed\'ff_\'e2_\'eb\'fc\'ed\'ee___\'ec\'ed\'ee\'f1\'f2_.xls"

что это за кодировка как перекодировать
...
Рейтинг: 0 / 0
28.09.2009, 12:27
    #36220191
barrabas
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
WPF RichTextBox
похоже на Quoted-printable, только вместо = тут \'
...
Рейтинг: 0 / 0
28.09.2009, 12:28
    #36220198
barrabas
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
WPF RichTextBox
скорее всего utf8 код символа разделенный \'
...
Рейтинг: 0 / 0
28.09.2009, 15:11
    #36220614
prBoris
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
WPF RichTextBox
ну можно попробовать перекодировать в Quoted-printable урл. Но мне кажется что так не правильно !
как сроку перекодировать в строку но с кодировкой Quoted-printable
...
Рейтинг: 0 / 0
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / WPF RichTextBox / 10 сообщений из 10, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]