5

ソフトウェア アプリケーションのヘルプ システムを作成しようとしています。インターフェイスは WPF で記述されています。アプリケーションからアクセスしたい XPS ファイル (Word ドキュメントから生成されたもの) があります。XPS ファイルには、XPS ファイル内でリダイレクトするハイパーリンクが含まれています。DocumentViewer コントロールを使用してファイルを表示できますが、ハイパーリンクが機能しません。(XPS ビューアーで同じ XPS ファイルを表示すると、ハイパーリンクが機能します。) 私は WPF を初めて使用するので、何かを見落としている可能性がありますが、これを機能させるために 1 週​​間試してみましたが、道に沿って学んでいますが、目の前の仕事でどこにも行きません。助けていただければ幸いです。-デイブ

4

2 に答える 2

3

ハイパーリンクを手動で処理するには、コード ビハインドに次のコードを追加します。

public MainWindow() {
    xpsViewer.AddHandler(Hyperlink.RequestNavigateEvent, new RequestNavigateEventHandler(OnRequestNavigate));
}

private void OnRequestNavigate(object sender, RequestNavigateEventArgs e) {
    // URI contains the page number (e.Uri = "...#PG_7_LNK_2")
    int pageNumber;
    if (int.TryParse(Regex.Match(e.Uri.ToString(), @"(?<=PG_)[0-9]+").Value, out pageNumber)) {
        xpsViewer.GoToPage(pageNumber);
    }
}
于 2016-04-18T13:02:55.070 に答える
0

これは古い質問だと思いますが、答えを探している人にとっては、ハイパーリンクがナビゲーション コンテナー (Frame または NavigationWindow) 内でのみ機能するため、DocumentViewer をナビゲーション コンテナーに配置する必要があることが問題だと思います。

于 2012-05-04T13:07:58.807 に答える