2017-11-07 8 views
0

私はいくつかのコンテンツとハイパーリンクを表示する非常に簡単な画面を持っています。ハイパーリンクが複数行にまたがっているので、リンク全体をクライアントが受け入れられない新しい行に移動するので、WPFボタンを使用することはできません。バインドリクエストWpfリッチテキストボックスでのハイパーリンクコントロールのナビゲート方法

これはCaliburnマイクロMVVMアプリケーションで、ビューモデルで自分のメソッドでリンクを開くプロセスを処理します。コードビハインドを使用したくないので、ハイパーリンクのRequestNavigateイベントをバインドする必要があります。リッチテキストボックスのため

コードは

<RichTextBox FontSize="13" BorderThickness="0" IsDocumentEnabled="True" IsReadOnly="True" Block.TextAlignment="Center" Width="270"> 
     <FlowDocument> 
      <Paragraph> 
       Download Failed. Please 
       <Bold>check your connection and try again or</Bold> 
       <Hyperlink >contact your provider</Hyperlink> 
      </Paragraph> 
     </FlowDocument> 
    </RichTextBox> 

出力はちょうどあなたのように、あなたはそれがViewModelに上のコマンドにバインドするコマンドプロパティの使用できるようにハイパーリンクは、ICommandSourceインタフェースを実装

enter image description here

+0

ビューモデルコードを共有できますか? – Saadi

答えて

0

ですボタン付きで

<Hyperlink Command="{Binding MyNavigationRequestedCommand}">contact your provider</Hyperlink> 

私はあなたがボタンを使用するに述べたので、あなたは、実装に精通していると思いますが、ここでは、ここでSO上link to an explanationです。 RequestNavigateイベントを具体的に処理する必要がある場合は、EventTrigger + InvokeCommandActionSystem.Widnows.Interactivityからhereのように使用できます。

関連する問題