尝试捕获不工作加载XAML资源

本文关键字:加载 XAML 资源 工作 | 更新日期: 2023-09-27 18:04:48

我有这些代码:

    private void btnPlanning_Click(object sender, RoutedEventArgs e)
    {
        LoadPage("PlanningView.xaml");
    }
    private void LoadPage(string APage)
    {
        try
        {
            frameMainView.Source = new Uri(APage, UriKind.Relative);
        }
        catch (Exception ex)
        {
            string errorString = $"Resource <{APage}> not found! ";
            DoLogD(errorString + " " + ex.Message);
            MessageBox.Show(errorString);
        }
    }

点击btnPlanning按钮,LoadPage被称为传递一个字符串的XAML资源的名称,我想加载在框架控件frameMainView

如果给定的资源不存在,我想捕获异常并通知用户。

问题是,当我点击按钮(资源不存在),我得到在任何情况下

PresentationFramework。PDB未加载

和一个内部的System.IO。IOException告诉我资源不可用。

为什么我的try-catch块不工作?

尝试捕获不工作加载XAML资源

有很多方法可以将页面加载到框架中:

  1. 通过设置源

    frameMainView。Source = new Uri("PlanningView.xaml",UriKind.RelativeOrAbsolute);

  2. 通过设置Content:

    frameMainView。内容= new PlanningView();

  3. 通过使用NavigationService:

    frameMainView.NavigationService。导航(新PlanningView ());

这是用户界面初始化问题。您能从visual Studio"输出"窗口获得更多信息吗?