2012-06-06 99 views
2

我用下面的代碼我就一個問題在幾個小時前發現做一個按鈕有一個形象:與圖像WPF按鈕不會出現

  <Button Name="bPlay" Height="70" Width="70" Margin="359,480,349,11"> 
      <Button.Template> 
       <ControlTemplate> 
        <Border HorizontalAlignment="Center" VerticalAlignment="Center"> 
         <Image Source="pack://siteoforigin:,,,/Resources/play.bmp" Width="70" Height="70" /> 
        </Border> 
       </ControlTemplate> 
      </Button.Template> 
     </Button> 

的問題是,由於某種原因,在Visual Studio上看起來不錯,但是當我運行程序時,這些按鈕不會出現。我找不到問題,我有點卡住了。圖片play.bmp顯然被添加到資源,但我仍然不知道問題是什麼,謝謝!

回答

6

「siteoforigin」表示文件必須給出了相對於所述執行器組件的目錄的路徑英寸您的可執行文件很可能位於bin/Debug文件夾中。它在可執行文件的子目錄中查找,該目錄可能不存在(「bin/Debug/Resources/play.bmp」)。

如果要以這種方式鏈接到文件,那麼必須告訴Visual Studio將其複製到輸出文件夾(從屬性窗格中)。或自己複製。

或者更好,你應該鏈接到它作爲一個資源,它會嵌入到應用程序中。在屬性窗格中將文件的構建類型設置爲資源,然後使用項目文件夾中的相對路徑鏈接到它。在這種情況下,直接在XAML中寫入「Resources/play.bmp」。

+0

你說得對:)這工作完美無缺,謝謝! – waclock

+0

@waclock不要忘記[標記本文爲答覆](http://meta.stackexchange.com/a/5235/182862) –

+0

我知道Luiggi;) – waclock

0

嘗試簡化您的代碼,也許只是拉出圖像,看看是否顯示。

<Button Name="bPlay" Height="70" Width="70" Margin="359,480,349,11"> 
    <Image Source="pack://siteoforigin:,,,/Resources/play.bmp" Width="70" Height="70" /> 
</Button> 

應該是有效的,以及在URI

+0

由於某種原因,當我嘗試時出現圖像(我可以看到按鈕,但它沒有圖像) – waclock