尝试捕获不工作加载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块不工作?
有很多方法可以将页面加载到框架中:
-
通过设置源
frameMainView。Source = new Uri("PlanningView.xaml",UriKind.RelativeOrAbsolute);
-
通过设置Content:
frameMainView。内容= new PlanningView();
-
通过使用NavigationService:
frameMainView.NavigationService。导航(新PlanningView ());
这是用户界面初始化问题。您能从visual Studio"输出"窗口获得更多信息吗?