2010-11-30 11 views
1

WPFのウェブページのように、テキストをクリックできるようにしたい。コントロールには、非機能テキスト(表示用)とその一部の両方が完全にクリック可能である必要があります。WPFのRichTextControlのようなテキストコントロール内のクリック可能なリンク?

ウィキペディアのように言ってください。

しかし、これは独立したスタンドアロンのオフラインアプリです。

私は様々なことを試みましたが、できませんでした。特に、クリックはウェブページのように機能しません。つまり、ツール内のURLを開くには1回クリックします。

答えて

1

<TextBlock> 
    Here's some text with a 
    <Hyperlink NavigateUri="Page2.xaml">link to another XAML page</Hyperlink> 
    and a 
    <Hyperlink NavigateUri="http://msdn.microsoft.com/">link to the 
    Web</Hyperlink>. 
</TextBlock> 

あなたはスクロールが必要な場合

ページ分割された複数列ビューアが必要な場合は、すべてのFlowDocumentを使用する必要がありますが、ハイパーリンク付きのテキストのみが必要な場合は、TextBlock + Hyperlink

+0

おかげさまで、あなたはHyperLinkとLinkLabelの違いを知っていますか? –

+1

それらの間には多くの違いがあります。最大のものは、1つはWinFormsで、もう1つはWPFです。 –

1

手動フロー原稿をセットし、フロードキュメント内のハイパーリンクを作成してみなければならない...ここで

は、以下のリンクから取られたいくつかのテキストです: http://social.msdn.microsoft.com/Forums/en-US/wpf/thread/99ae9d9c-1dd4-4acd-8d5d-6eb739adeb98

」 こんにちは、

段落/節/表へのハイパーリンクを作成する小さな例を次に示します。

o Webサイトでは、ナビゲーション用のフレームコントロールを作成できます。

public Window1() 
     { 
      InitializeComponent(); 

      // add a Frame for navigation 
      Frame frame = new Frame(); 
      this.Content = frame; 
      //add FlowDocument 
      FlowDocument doc = new FlowDocument(); 
      frame.Navigate(doc); 

      //add Table 
      Table table = new Table(); 
      doc.Blocks.Add(table); 
      TableRowGroup group = new TableRowGroup(); 
      table.RowGroups.Add(group); 

      TableColumn col1 = new TableColumn(); 
      TableColumn col2 = new TableColumn(); 
      table.Columns.Add(col1); 
      table.Columns.Add(col2); 

      TableRow row1 = new TableRow(); 
      TableCell cel1 = new TableCell(); 
      row1.Cells.Add(cel1); 

      group.Rows.Add(row1); 

      //add Section 
      Section mySection = new Section(); 
      //add section to the Table cell. 
      cel1.Blocks.Add(mySection); 

      Paragraph paraValue = new Paragraph(); 
      Hyperlink hl = new Hyperlink(new Run("Click Here to Google")); 
      hl.Foreground = Brushes.Red; 
      paraValue.Inlines.Add(hl); 

      hl.FontSize = 11; 
      hl .NavigateUri =new Uri ("Http://www.google.cn"); 

      mySection.Blocks.Add(paraValue); 
     } 
: - > FlowDocument - >表 - >セクション - - >パラグラフ>ハイパーリンク

コードビハインドで

フレーム:この例では要素の階層関係は次のようです

ご質問がありましたら、お気軽にお問い合わせください。

ありがとうございました。 「あなたはそれが本格FlowDocumentであるという要件を持っていない場合は、あなただけの昔ながらのWPFのTextBlockを使用し、その中にハイパーリンクを置くことができる

+0

ありがとう、私は実際にそれがtのようなものになると思っていた彼: –

+0

http://community.visual-basic.it/alessandroenglish/archive/2009/03/12/25115.aspx –

関連する問題