.NetCore WPF 指定一個相對路徑的圖片,報錯“找不到資源”


開發wpf也有一段時間了,今天試試用.net core開發wpf,看下能否方便的將.net wpf移植到.net core。結果發現n多問題...

像dll引用,.net core已經沒有從程序集里引用這一項了。還有部分代碼不是.net standard里的,還得添加.net framework框架,需要在工程文件里手動修改。一通百度總算是解決了。

現在記錄下這個資源圖片找不到的問題。

代碼很簡單,xaml代碼如下:

 <Button Content="OK"  Width="100" Height="50">
                <Button.Background>
                    <ImageBrush ImageSource="/WpfApp1;component/Images/test.png"/>
                </Button.Background>
            </Button>

然后編譯不報錯,圖片也能預覽到,但是運行就報錯:

System.Windows.Markup.XamlParseException:““在“System.Windows.Baml2006.TypeConverterMarkupExtension”上提供值時引發了異常。”,行號為“14”,行位置為“22”。”

內部異常:

IOException: 找不到資源“images/test.png”。

解決辦法:選擇圖片,右鍵屬性=》生成操作=》選擇“資源”,然后選擇復制到輸出目錄=》選擇不復制。

注意:選擇“資源”后,到這里還沒完,當修改了“生成操作屬性”時,“復制到輸出目錄”屬性時會被重置為null,需要再改回來。起初懷疑是圖片屬性沒設置對,結果只改了生成操作屬性,沒注意到復制到輸出目錄被重置為null,然后各種嘗試。。。

.net core wpf添加圖片到項目時,默認生成操作屬性都是無,需要每個資源都進行修改,才能指定相對路徑!.net framework wpf就沒有這個問題,默認就是下圖所示。正確的配置如下圖


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM