프로그래밍 방식으로 WPF 하이퍼 링크 요소를 FlowDocument에 삽입하고 싶습니다.WPF FlowDocument의 지정된 위치에 하이퍼 링크 삽입
목표는 RichTextBox 내에서 텍스트를 실행하고 하이퍼 링크로 바꾸는 도구 모음 단추를 만드는 것입니다. 이것은 위키 나 블로그 (또는 StackOverflow)에서 하이퍼 링크를 만들기 위해 웹에서 볼 수있는 것과 같은 종류의 인터페이스입니다.
이 같은 선택한 텍스트의 TextRange 찾을 수 있습니다
TextRange tr = new TextRange(
MyRichTextBox.Selection.Start,
MyRichTextBox.Selection.End);
을 그리고 내가 지금처럼 TextRange에 하이퍼 링크 XAML을 물건을하려고 해요 :
string rawXaml = "<Hyperlink xmlns=\"http://schemas.microsoft.com/winfx/2006/xaml/presentation\" NavigateUri=\"http://www.google.com/\">Google Home Page</Hyperlink>";
using(MemoryStream stream = new MemoryStream())
{
StreamWriter writer = new StreamWriter(stream);
writer.Write(rawXaml);
writer.Flush();
stream.Position = 0;
if (tr.CanLoad(DataFormats.Xaml))
{
tr.Load(stream, DataFormats.Xaml);
}
}
을하지만 여전히 보인다 RichTextBox에 일반 텍스트를 붙여 넣습니다.
내가 뭘 잘못하고 있니? 내가하려는 일을 성취 할 수있는 더 좋은 방법이 있습니까?
고마워요! 하이퍼 링크 생성자 구문은 문자열 구문 분석보다 훨씬 좋네요. – dthrasher
하이퍼 링크 생성자 주셔서 감사합니다. – Vikram