2014-11-05 70 views
0

我對WPF和c#真的很陌生,並且對如何初始化應用程序有一些疑問。我正在瀏覽一些關於LINQ類的教程,希望我可以將所有SQL Server數據綁定到observableCollections。WPF C#應用程序我得到2個主窗口

一個我發現的例子有像這樣一開始(在App.xaml.cs文件):

public partial class App : Application 
{ 
    protected override void OnStartup(StartupEventArgs e) 
    { 
     base.OnStartup(e); 

     MainWindow app = new MainWindow(); 
     ProductViewModel context = new ProductViewModel(); 
     app.DataContext = context; 
     app.Show(); 
    } 
} 

當我運行應用程序,我得到2個主窗口。上面的命令執行並打開第一個命令,但第二個命令從一些我看不到的系統代碼中調用(我可以在dissasembler中看到,但這並沒有什麼幫助)。因此,VS爲我設置的應用程序似乎有一個標準條目,但示例代碼(來自Rachel Lim)沒有這樣做。我搜索了各種文件(如具有無效Main()調用的App.g.i.cs)中的差異,並且我的應用程序和示例都是相同的。我試圖「控制」應用程序來處理用LINQ類創建我的observablecollections。有人對VS和C#有足夠的熟悉,可以給我一些關於可能發生的事情的提示嗎?

+1

檢查你的'Application.xaml'文件,那裏可能有一個「Startup」元素。 – CodingGorilla 2014-11-05 20:28:41

+0

@CodingGorilla。 。 。謝謝。我已經檢查過,但沒有看到這種差異。 。 。衛生署! – 2014-11-05 20:34:05

回答

1

這個問題可能是在您的App.xaml往往有以下幾點:

Application x:Class="WpfApplication1.App" 
      xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
      xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
      StartupUri="MainWindow.xaml"> 
    <Application.Resources> 

    </Application.Resources> 
</Application> 

如果您App.xaml.cs中,你已經證明了事件之一將打開一個窗口,那麼你需要確保移除StartupUri="MainWindow.xaml"在您的Application元素中。

相關問題