string error = null;
this.xamRichTextEditor1.Document.InsertHyperlink(0,
"http://www.infragistics.com/", out error, "Infragistics",
"Link to the Infragistics website.");
このトピックは、 xamRichTextEditor ™ を使用してハイパーリンクを作成する方法を、開発者の観点から説明します。
このトピックをより理解するために、以下のトピックを参照することをお勧めします。
このトピックは、以下のセクションで構成されます。
xamRichTextEditor は、Web サイトの閲覧時に、ドキュメント内の内部ハイパーリンクをサポートします。ハイパーリンクは異なるスタイルで描画されるため、他のリッチ コンテンツの中でテキストと容易に区別できます。
TrackHistory プロパティを使用し、一度閲覧したリンクを別の色で描画することができます。
Ctrl キーを押しながらハイパーリンクをクリックすると、ハイパーリンクを開くことができます。それにより HyperlinkExecuting イベントが起動され、URI アドレスの確認と変更に使用できます。またハイパーリンクを開く動作を取り消すこともできます。
InsertHyperlink メソッドを呼び出すと、ハイパーリンクをドキュメントの任意のオフセットで挿入できます。
以下の表では、各プロパティ設定の構成です。
以下のコード スニペットは、InserHyperlink
メソッドを使用してハイパーリンクを作成する方法を示します。
C# の場合:
string error = null;
this.xamRichTextEditor1.Document.InsertHyperlink(0,
"http://www.infragistics.com/", out error, "Infragistics",
"Link to the Infragistics website.");
Visual Basic の場合:
Dim [error] As String = Nothing
Me.xamRichTextEditor1.Document.InsertHyperlink(0, _
"http://www.infragistics.com/", _
[error], _
"Infragistics", _
"Link to the Infragistics website.")
MakeHyperlink メソッドを呼び出すと、使用予定のドキュメント スパンに既存のドキュメント スパンを指定して、ハイパーリンクを挿入できます。この場合、ドキュメントのコンテンツを表示テキストとして使用し、ターゲットの URI と tooltip がメソッドに対して引数として指定されます。
以下の表では、各プロパティ設定の構成です。
以下のコード スニペットは、現在アクティブ状態のビュー選択をリンク コンテンツとして使用して MakeHyperlink
メソッドを呼び出すことにより、ハイパーリンクを作成する方法を示します。
C# の場合:
string error = null;
this.xamRichTextEditor1.Document.MaketHyperlink(
this.xamRichTextEditor1.ActiveDocumentView.Selection.DocumentSpan,
"http://www.example.com/", out error, "Example.com"
);
Visual Basic の場合:
Dim [error] As String = Nothing
Me.xamRichTextEditor1.Document.MaketHyperlink( _
Me.xamRichTextEditor1.ActiveDocumentView.Selection.DocumentSpan, _
"http://www.example.com/", [error], "Example.com")
HyperlinkNode インスタンスを作成する方法で、ハイパーリンクを作成することもできます。
以下のコード スニペットは、ハイパーリンクを作成し、ドキュメントのコンテンツの終りの新しいパラグラフに作成したハイパーリンクを追加する方法を示します。
C# の場合:
var hNode = new HyperlinkNode();
hNode.Tooltip = "Link to the Infragistics website.";
hNode.Uri = "http://www.infragistics.com/";
hNode.SetText("Infragistics");
hNode.TrackHistory = true;
var pNode = new ParagraphNode();
pNode.ChildNodes.Add(hNode);
this.xamRichTextEditor1.Document.RootNode.Body.ChildNodes.Add(pNode);
Visual Basic の場合:
Dim hNode = New HyperlinkNode()
hNode.Tooltip = "Link to the Infragistics website."
hNode.Uri = "http://www.infragistics.com/"
hNode.SetText("Infragistics")
hNode.TrackHistory = True
Dim pNode = New ParagraphNode()
pNode.ChildNodes.Add(hNode)
Me.xamRichTextEditor1.Document.RootNode.Body.ChildNodes.Add(pNode)
注:
注:
C# の場合:
this.xamRichTextEditor.Document.RootNode.Styles.Add(
this.xamRichTextEditor.Document.AvailableStyles["Hyperlink"].Clone()
as CharacterStyle);
Visual Basic の場合:
Me.xamRichTextEditor.Document.RootNode.Styles.Add(_
TryCast(Me.xamRichTextEditor.Document.AvailableStyles("Hyperlink").Clone(), _
CharacterStyle))
前述の方法を使用しない場合は、InsertHyperlink
または MakeHyperlink
メソッドを使用することができます。
Ctrl キーを押しながらリンクをクリックすると、HyperlinkExecuting
イベントが起動します。このイベントを取り消して、ハイパーリンクが開かないようにすることができます。
以下のコード スニペットは、HyperlinkExecuting
イベントを取り消す方法を示します。
C# の場合:
// イベント ハンドラーを HyperlinkExecuting イベントにアタッチ
this.xamRichTextEditor1.HyperlinkExecuting += xamRichTextEditor1_HyperlinkExecuting;
// その他のコード
// イベント ハンドラー
void xamRichTextEditor1_HyperlinkExecuting(object sender, HyperlinkExecutingEventArgs e)
{
// このイベントを取り消す
e.Cancel = true;
}
Visual Basic の場合:
' イベント ハンドラーを HyperlinkExecuting イベントにアタッチ
Me.xamRichTextEditor1.HyperlinkExecuting += xamRichTextEditor1_HyperlinkExecuting
' その他のコード
' イベント ハンドラー
Private Sub xamRichTextEditor1_HyperlinkExecuting(sender As Object, e As HyperlinkExecutingEventArgs)
' このイベントを取り消す
e.Cancel = True
End Sub
このトピックの追加情報については、以下のトピックも合わせてご参照ください。