Louis_Lagrange 2024-09-27 15:02 采纳率: 0%
浏览 1

WPF中导航构造函数中初始化View报资源未找到

使用:CommunityToolkit

1.前后端通信完成后,在导航页构造函数初始化时,导致资源图片无法找到,但是能够正常启动文件

img


public partial class MainWindowVM:ObservableObject
{
    [ObservableProperty]
    private object? currentView;

    public MainWindowVM()
    {
        CurrentView = new Product(); //注释该行后,重新生成就没有报错
    }

    [RelayCommand]
    private void Product()
    {
        CurrentView = new Product();
    }

<UserControl
    x:Class="WpfApp1.Views.Product"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:local="clr-namespace:WpfApp1.Views"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    xmlns:vm="clr-namespace:WpfApp1.ViewModels"
    d:DesignHeight="600"
    d:DesignWidth="622"
    Style="{StaticResource Page_Style}"
    mc:Ignorable="d">
    <UserControl.DataContext>
        <vm:ProductVM />
    </UserControl.DataContext>
    <Grid Margin="15">

        <Border CornerRadius="0,20,20,0">
            <Border.Background>
                 <!--// 在XAML设计视图中是能看到图片的 //-->
                <ImageBrush ImageSource="pack://application:,,,/Assets/Images/product_page.png" Stretch="None" />
            </Border.Background>
        </Border>

        <TextBlock
            Margin="261,300,0,0"
            HorizontalAlignment="Left"
            VerticalAlignment="Center"
            FontFamily="/Fonts/#Rubik Medium"
            FontSize="12"
            Foreground="#F25E68"
            Text="{Binding ProductAvailability}" />

    </Grid>
</UserControl>


  • 写回答

1条回答 默认 最新

  • 一轮明月照丘壑 2024-09-27 17:38
    关注

    以下回复参考:皆我百晓生券券喵儿等免费微信小程序作答:

    看起来你在初始化视图时遇到了资源找不到的问题。这个错误可能是因为以下几个原因造成的:

    1. 资源路径问题:检查资源路径是否正确。确保你的图片文件 product_page.png 位于项目的 Assets/Images 文件夹中,并且文件名和大小写都是正确的。确保图片被正确地添加到了项目中,并且属性设置为“资源”。
    2. 项目输出路径问题:如果你修改了项目的输出路径或项目名称,那么你需要更新图片资源的路径,因为资源路径是相对于项目输出路径的。你可以尝试使用绝对路径来引用图片资源,以确保不会因为项目路径的改变而受到影响。
    3. 编译和生成问题:有时候,资源文件可能没有正确地被编译到输出目录中。尝试重新编译你的项目,并确保资源文件被包含在编译结果中。
    4. XAML命名空间问题:确保你的XAML文件中使用的命名空间是正确的,特别是与资源相关的命名空间。有时候,命名空间的错误会导致资源无法找到。

    针对你的代码,我建议你尝试以下解决方案:

    • 确保图片 product_page.png 位于正确的文件夹中,并且已经被设置为资源。
    • 在XAML中引用图片时,尝试使用绝对路径,例如 pack://application:,,,/WpfApp1;component/Assets/Images/product_page.png。这里的 WpfApp1 是你的项目名称,确保与你的项目名称一致。
    • 重新编译项目并检查输出目录中的资源文件。

    如果以上方法仍然无法解决问题,请检查是否有其他配置或代码导致资源路径不正确或资源文件未正确加载。希望这些建议能帮助你解决问题!

    评论

报告相同问题?

问题事件

  • 创建了问题 9月27日

悬赏问题

  • ¥15 如何在vue.config.js中读取到public文件夹下window.APP_CONFIG.API_BASE_URL的值
  • ¥50 浦育平台scratch图形化编程
  • ¥20 求这个的原理图 只要原理图
  • ¥15 vue2项目中,如何配置环境,可以在打完包之后修改请求的服务器地址
  • ¥20 微信的店铺小程序如何修改背景图
  • ¥15 UE5.1局部变量对蓝图不可见
  • ¥15 一共有五道问题关于整数幂的运算还有房间号码 还有网络密码的解答?(语言-python)
  • ¥20 sentry如何捕获上传Android ndk 崩溃
  • ¥15 在做logistic回归模型限制性立方条图时候,不能出完整图的困难
  • ¥15 G0系列单片机HAL库中景园gc9307液晶驱动芯片无法使用硬件SPI+DMA驱动,如何解决?