簡體   English   中英

WPF Window 中的圖像在通過反射啟動時拋出異常

[英]Images in a WPF Window throw exception when launched via reflection

我有一個 WPF 應用程序,我在其中將圖像作為資源添加到項目中(不是來自項目設置,就像這里的第二個答案一樣),所以它們位於一個文件夾下。 我在 xaml 中這樣使用它們:

<Image Width="32" Height="32" Source="/Images/Effect.png" />

當我從 Visual Studio 或資源管理器手動運行程序時,圖像顯示正常,沒有錯誤等。

但是當我通過反射從另一個應用程序運行它時,它會在 Visual Studio 中打印這些異常:

System.Windows.Data 錯誤:6:“TargetDefaultValueConverter”轉換器無法轉換值“/Images/Effect.png”(類型“字符串”); 如果可用,將使用后備值。 綁定表達式:路徑=效果圖標; DataItem='節點' (HashCode=34743541); 目標元素是'圖像'(名稱=''); 目標屬性是'Source'(類型'ImageSource')IOException:'System.IO.IOException:找不到資源'images/effect.png'。

最后,應用程序啟動正常,但所有圖像都丟失了。

關於如何解決這個問題的任何想法?

我應該以不同的方式綁定圖像嗎?

問題可能是圖像將在您通過反射實例化模塊的程序集中搜索。 解決此問題的一種可能性是,您為圖像分配完整路徑,包括程序集名稱。 就像是:

Source="/AssemblyName;component/image/effect.png"

試試這個:“pack://application:,,,/AssemblyName;/components/image/effect.png”

暫無
暫無

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

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