2011-04-22 124 views
3

我是全新的C#/ WPF的東西。我對WPF分層的概念有一個很好的理解,它是一個非常好的工具。但是,我遇到的問題是,VS和類似的東西儘可能地使代碼儘可能地不受干擾。WPF應用程序如何知道從哪裏開始?

當在VS C#Express 2008中啓動一個全新的WPF應用程序時,有兩個立即可見的源文件:App.xamlWindow1.xaml。這是所有罰款和花花公子,但我看到的事情開始任何意義的唯一地方是在App.xaml,說

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

展望的SomeName.App類名行了,我猜延長Application意味着作爲從哪裏開始,但應用程序如何知道這一點?

我對Java非常熟悉,所以如果它讓事情更容易解釋,請做。我喜歡儘可能地理解最低級別的東西(不涉及機器代碼),所以請幫助我深入瞭解C#和WPF的內部工作原理。

一如既往,感謝StackOverflow社區的任何幫助。 :)

回答

5

您可能需要理解的概念是,工具鏈從XAML文件生成代碼,這會爲聲明式XAML提供「類似代碼」的行爲。

但是WPF相當複雜,沒什麼特別之處,而且一本書可能有用 - 個人而言,我認爲Adam Nathan WPF的書很出色,並將涵蓋這個「對概念的一般理解」互聯網,IMO。

生成的應用程序文件可能會被稱爲app.g.cs,並將位於其中一箇中間文件目錄中 - 在那裏查看實際的啓動代碼 - 除此之外,您會發現一些內容如:

public static void Main() { 
     MyAppName.App app = new MyAppName.App(); 
     app.InitializeComponent(); 
     app.Run(); 
    } 

在這一點上,它可能開始變得更有意義。

事實上,如果你不喜歡聲明式路由,你可以自己編寫所有的啓動代碼。

+0

非常感謝。這給了我一個很好的工作基礎。 – Andy 2011-04-22 16:49:51

相關問題