2017-09-18 56 views
0

當我試圖從默認啓動URI WPF應用程序來改變MainWindow位置:MainWindow.xaml視圖\ MainWindow.xaml。其中Views是在項目文件夾內創建的文件夾。System.TypeInitializationException改變主窗口的StartupUri WPF

烏里:this.StartupUri = new System.Uri(@"Views\MainWindow.xaml", System.UriKind.Relative);

我改變了URI,然後用下面的錯誤的應用程序中斷:

An unhandled exception of type 'System.TypeInitializationException'occurred in PresentationFramework.dll 


Additional information: The type initializer for 'System.Windows.Application' threw an exception. 

我把斷點和的try-catch塊的主要方法,在InitializeComponent方法和MainWindow的構造函數無濟於事。它崩潰了,我無法捕捉到異常。

主營:

public static void Main() { 
      try 
      { 
       wpfTest.App app = new wpfTest.App(); 
       app.InitializeComponent(); 
       app.Run(); 
      }catch(Exception ex) 
      { 
       Console.WriteLine(ex.InnerException.Message); 
      } 
     } 

是否中的StartupUri必須在其他地方也發生了變化它只有一個參考:一個在InitializeComponent方法。

回答

0

要在主窗口移動到瀏覽文件夾(命名空間),你必須遵循這個步驟

  1. MainWindow.xaml

    <Window x:Class="WpfApp1.Views.MainWindow" 
         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:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
         xmlns:local="clr-namespace:WpfApp1" 
         mc:Ignorable="d" 
         Title="MainWindow" Height="350" Width="525"> 
        <Grid> 
    
        </Grid> 
    </Window> 
    
  2. 更改類的名稱修改命名空間中MainWindow.xaml.cs

    namespace WpfApp1.Views 
    { 
        /// <summary> 
        /// Interaktionslogik für MainWindow.xaml 
        /// </summary> 
        public partial class MainWindow : Window 
        { 
         public MainWindow() 
         { 
          InitializeComponent(); 
         } 
        } 
    } 
    
  3. 修改App.xaml

    <Application x:Class="WpfApp1.App" 
          xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
          xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
          xmlns:local="clr-namespace:WpfApp1" 
          StartupUri="Views/MainWindow.xaml"> 
        <Application.Resources> 
    
        </Application.Resources> 
    </Application> 
    
  4. 移動MainWindow.xamlViews文件夾

而且完蛋了。

首先/最後一個你做哪一個並不重要,但是你必須完成所有這些。

+0

非常感謝您的先生!確實有效。我知道我在某處丟失了某些東西,並且app.cs中的啓動uri變化不夠。 –