WPF按钮添加图片时遇到显示异常与XamlParseException异常的问题求助
WPF按钮添加图片时遇到显示异常与XamlParseException异常的问题求助
Hey,我来帮你捋捋这两个问题的解决思路哈:
第一个问题:XAML写法运行时控件消失
你用XAML写的按钮在设计窗口能看见,一运行就没了,大概率是图片资源的配置或者路径写法出问题了:
- 先检查你的
Pictures/img.jpg文件属性:右键文件→属性,把「生成操作」改成「Resource」,「复制到输出目录」改成「如果较新则复制」。这样程序运行时才能正确找到并加载图片资源。 - 也可以试试用更稳妥的Pack URI写法指定图片路径:
<Image Source="pack://application:,,,/Pictures/img.jpg" />
第二个问题:代码写法抛出XamlParseException
后台代码创建控件时报这个异常,核心原因是图片的Uri构造不符合WPF的资源加载规则:
- 如果
foo.png是项目里的内嵌资源,代码里得用Pack URI来写:
Image img = new Image { Source = new BitmapImage(new Uri("pack://application:,,,/foo.png", UriKind.Absolute)) };
- 如果图片是放在输出目录的外部文件,要确保路径正确,比如用相对路径时加上
UriKind.Relative,同时确认图片确实被复制到了程序的输出文件夹里。
另外还有个小细节:不管用XAML还是代码,记得给Button设置合适的尺寸(比如Width和Height)或者让它自适应内容,有时候控件没显示也可能是自身尺寸为0导致的~
备注:内容来源于stack exchange,提问作者NataliaSmolina
相关产品推荐
相关产品推荐

