開發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就沒有這個問題,默認就是下圖所示。正確的配置以下圖