2016-05-25 11 views
0

WPFアプリケーション内からPDFファイルを表示する機能を追加しようとしています。WPF XAMLコンパイルエラー - 名前がネームスペースに存在しません

私はhttp://www.codeproject.com/Articles/579878/MoonPdfPanel-A-WPF-based-PDF-Viewer-Control#includeのチュートリアルに従っており、「あなたのアプリケーションにMoonPdfPanelを含める」セクションにあります。

私は、次のXAMLを持っている:

<Window x:Class="DocumentViewer.MainWindow" 
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
    xmlns:local="clr-namespace:DocumentViewer" 
    xmlns:mpp="DocumentViewer:MoonPdfLib;assembly=MoonPdfLib" 
    mc:Ignorable="d" 
    Title="MainWindow" Height="350" Width="525"> 
    <DockPanel> 
    <mpp:MoonPdfPanel Background="LightGray" ViewType="SinglePage" PageDisplay="ContinuousPages" PageMargin="0,2,4,2" AllowDrop="True"/> 

    <Grid DockPanel.Dock="Top"> 
     <Menu x:Name="menu" IsMainMenu="True" HorizontalAlignment="Left" Height="20" VerticalAlignment="Top" Width="518"> 
      <MenuItem Header="_File"> 
       <MenuItem x:Name="loadDocument" Header="Load Document" Click="openFileMenuItem_click"></MenuItem> 
       <Separator /> 
       <MenuItem x:Name="exit" Header="Exit" Click="exitApplication_click"></MenuItem> 
      </MenuItem> 
     </Menu> 
    </Grid> 
    <Grid x:Name="browserHost" DockPanel.Dock="Top" Margin="0,0,0,0"> 
    </Grid> 
    <!--mpp:MoonPdfPanel x:Name="PdfPanel" Background="LightGray" ViewType="SinglePage" PageMargin="0,2,4,2" AllowDrop="True" /--> 
    <!--mpp:MoonPdfPanel Background="LightGray" ViewType="SinglePage" PageDisplay="ContinuousPages" PageMargin="0,2,4,2" AllowDrop="True"/--> 


    </DockPanel> 

</Window> 

しかし、何らかの理由で、私はライン上でコンパイルエラーを取得しています:

 <mpp:MoonPdfPanel Background="LightGray" ViewType="SinglePage" PageDisplay="ContinuousPages" PageMargin="0,2,4,2" AllowDrop="True"/> 

言うた:

名前 "MoonPdfPanel"は名前空間に存在しません "DocumentViewer:MoonPdfLib

https://sourceforge.net/projects/moonpdf/?source=typ_redirectからMoonPdfViewerをダウンロードし、それが自分のワークスペースのルートにあることを確認しました...私の言う限りでは、チュートリアルに記載されていることをすべて実行しましたが、エラー...

アプリケーションを実行しようとすると、ビルドエラーが発生したことが通知され、最後の正常なビルドを継続して実行するかどうかを尋ねるメッセージが表示されます。コンソールに表示されます。

"DocumentViewer:MoonPdfLib; assembly = MoonPdfLib"という名前で名前 "MoonPdfPanel"が存在しません。

'MoonPdfPanel'タイプのプロパティ 'PageDisplay'が見つかりませんでした。

プロパティ 'PageDisplay'は、XML名前空間 'clr-namespace:MoonPdfLib; assembly = MoonPdfLib'に存在しません。行11の位置72.

私はここで間違っていますか?アプリケーションにMoonPdfPanelを追加するにはどうすればよいですか?

+1

あなたのネームスペースに 'DocumentViewer:MoonPdfLib'があります。 'MoonPdfLib' - ' clr-namespace:MoonPdfLib; assembly = MoonPdfLib' –

+0

私はそれを試みましたが、うまくいかなかったので、 'xmlns:local =" clr-namespace:DocumentViewer "という行を追加しようとしました。 'xmlns:mpp =" DocumentViewer:MoonPdfLib; assembly = MoonPdfLib "を使用していますが、まだ問題があります... – someone2088

答えて

1

あなたのコードと提供したリンクを調べるだけで、あなたの名前空間は間違っています。

あなたはしている:

xmlns:mpp="DocumentViewer:MoonPdfLib;assembly=MoonPdfLib" 

それは次のようになります。

xmlns:mpp="clr-namespace:MoonPdfLib;assembly=MoonPdfLib" 

あなたのローカル名前空間はDocumentViewerかもしれませんが、サードパーティのライブラリの名前空間は、プロジェクト参照を使用します。そのため、ネームスペースに実際のコンポーネント(カスタムコントロールなど)がないかぎり、ネームスペースは含めないでください。その場合でも、名前空間はコロンではなく、ピリオド.で区切られます。

パネルは、として追加さ:

MoonPdf Display

:結果はこのように見えた

 OpenFileDialog ofd = new OpenFileDialog(); 
    ofd.Title = "Select a PDF File"; 
    ofd.Filter = "PDF File (*.pdf)|*.pdf"; 
    if ((bool)ofd.ShowDialog()) 
    { 
     pdfPanel.OpenFile(ofd.FileName); 
    } 

を:

<mpp:MoonPdfPanel Name="pdfPanel" DockPanel.Dock="Bottom" Background="LightGray" 
    ViewType="SinglePage" PageRowDisplay="ContinuousPageRows" PageMargin="0,2,4,2" AllowDrop="True"/> 

Iは、使用問題なくPDFをロードすることができました

+0

お返事いただきありがとうございます。私が取得していたコンパイルエラーの1つ( ''PodDisplay 'プロパティが' MoonPdfPanel '型で見つかりませんでした)。しかし、私はまだ '' mpp:MoonPdfPanel ''型が見つかりませんでした。アセンブリ参照がないことを確認し、すべての参照アセンブリが構築されていることを確認してください。 – someone2088

+0

自分で簡単にテストできるかどうかを確認します。たぶん単純なものがあります。 –

+0

@ someone2088名前空間を修正しました。私は接頭辞を忘れていた(doh!)。また、 'PageDisplay'はパネルのメンバーでもありません。私が見つけた最も近いものは 'PageRowDisplay'でした。そのためにサンプルラインを作成しました。 'MoonPdfLib - > {} MoonPdfLib - > MoonPdfPanel'のオブジェクトブラウザで見ることができます。 –

関連する問題