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

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

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

如今記錄下這個資源圖片找不到的問題。.net

代碼很簡單,xaml代碼以下:code

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

而後編譯不報錯,圖片也能預覽到,可是運行就報錯:component

System.Windows.Markup.XamlParseException:「「在「System.Windows.Baml2006.TypeConverterMarkupExtension」上提供值時引起了異常。」,行號爲「14」,行位置爲「22」。」blog

內部異常:圖片

IOException: 找不到資源「images/test.png」。資源

解決辦法:選擇圖片,右鍵屬性=》生成操做=》選擇「資源」,而後選擇複製到輸出目錄=》選擇不復制。開發

注意:選擇「資源」後,到這裏還沒完,當修改了「生成操做屬性」時,「複製到輸出目錄」屬性時會被重置爲null,須要再改回來。起初懷疑是圖片屬性沒設置對,結果只改了生成操做屬性,沒注意到複製到輸出目錄被重置爲null,而後各類嘗試。。。io

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

相關文章
相關標籤/搜索