簡體   English   中英

在WPF頁面上顯示圖像

[英]Displaying an Image on a WPF page

我正在嘗試在WPF頁面上顯示圖像。 代碼如下所示:

<Grid>
  <TextBlock Margin="32,332,395,74" Cursor="None">
     Click to <Hyperlink NavigateUri="TestWindow.xaml">sign a document</Hyperlink>
  </TextBlock>
  <Image HorizontalAlignment="Left" Height="151" Margin="32,96,0,0" VerticalAlignment="Top" Width="179"
         Source="signature.png" Visibility="Visible" Name="signImage"/>

問題是圖像在WPF設計器中顯示,但是當我運行程序時,圖像未顯示在頁面上。

請注意圖像顯示在頁面而不是窗口上

試試這個PackURIs

Image finalImage = new Image();
finalImage.Width = 80;
...
BitmapImage logo = new BitmapImage();
logo.BeginInit();
logo.UriSource = new Uri("pack://application:,,,/AssemblyName;component/Resources/logo.png");
logo.EndInit();
...
finalImage.Source = logo;

URI分為以下部分:

  • 授權: application:///

路徑:編譯為引用程序集的資源文件的名稱。 路徑必須符合以下格式:AssemblyShortName [; Version] [; PublicKey]; component / Path

  • AssemblyShortName:所引用程序集的簡稱。
  • ; Version [可選]:包含資源文件的引用程序集的版本。 當加載兩個或多個具有相同短名稱的引用程序集時,將使用此方法。
  • ; PublicKey [可選]:用於對引用的程序集進行簽名的公共密鑰。 當加載兩個或多個具有相同短名稱的引用程序集時,將使用此方法。
  • ; component:指定要引用的程序集是從本地程序集引用的。
  • / Path:資源文件的名稱,包括其路徑,相對於引用程序集的項目文件夾的根目錄。

申請后的三個斜杠:必須用逗號代替:

注意:包URI的授權組件是指向包的嵌入式URI,並且必須符合RFC2396。此外,“ /”字符必須替換為“,”字符和保留字符(例如“%”)和“?” 必須逃脫。 有關詳細信息,請參見OPC。

當然,請確保將映像上的構建操作設置為Resource。

另一種選擇是使用資源,例如在您的app.xaml中:

 <Application.Resources>
    <BitmapImage x:Key="signatureSrc" UriSource="/MyProject;component/ImageFolderIfThereIsOne/signature.png" />
</Application.Resources>

像這樣使用

<Image Height="100" VerticalAlignment="Top" Width="100" Source="{StaticResource signatureSrc}" />

對此我感到很沮喪,我才發現頁面使用了相對位置的圖像。 就我而言,圖像位於文件夾“ Graphics / logo.jpg”中,而頁面位於文件夾“ View / Setting / About”中。 我將圖片的來源更新為../../Graphics/logo.jpg並且可以正常工作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM