2017-11-07 1 views
0

일부 콘텐츠와 하이퍼 링크를 보여주는 매우 간단한 화면이 있습니다. 하이퍼 링크가 여러 줄로 퍼져 나올 때 WPF 버튼을 사용할 수 없기 때문에 전체 링크를 클라이언트가 받아 들일 수없는 새로운 줄로 옮길 수 있습니다.바인딩 요청 Wpf 서식있는 텍스트 상자에서 하이퍼 링크 컨트롤의 탐색 방법을 Natigate

이것은 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> 

출력 당신처럼, 당신이 뷰 모델의 명령에 바인딩 명령 속성입니다 사용할 수 있도록 하이퍼 링크, 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과 같이 사용할 수 있습니다.

관련 문제