我有这些代码:
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 ,传递一个字符串,其中包含我要在帧控件 frameMainView
如果给定的资源不存在,我想捕获异常并通知用户。
问题是,当我点击按钮(并且资源不存在)时,无论如何我都会遇到
PresentationFramework.pdb未加载
和内部 System.IO.IOException 告诉我资源不可用。
为什么我的try-catch块不起作用?
答案 0 :(得分:1)
有很多方法可以将页面加载到框架中:
通过设置来源
frameMainView.Source = new Uri(“PlanningView.xaml”,UriKind.RelativeOrAbsolute);
通过设置内容:
frameMainView.Content = new PlanningView();
使用NavigationService:
frameMainView.NavigationService.Navigate(new PlanningView());
答案 1 :(得分:-1)
这是用户界面初始化问题。您可以从Visual Studio“输出”窗口获得更多信息吗?