【WPF學習】建立WPF應用程式的三種方式

來源:互聯網
上載者:User

標籤:style   blog   http   io   ar   color   os   使用   sp   

說到WPF項目,肯定會想到XAML,這兩者是相互補充的技術,其實它們也是相互獨立的,所以可以建立不使用XAML的WPF項目,今天就講一講建立WPF應用程式的三種不同的編碼方式。

1、只使用代碼:這種方法類似於傳統的Windows表單應用程式,通過代碼語句產生使用者介面。這種方法在編寫WPF項目時很不常見,但是也不完全是沒有優點的,它的潛在優點是可以隨意定製應用程式。例如想只用代碼建立一個表單,那麼需要建立一個Class(注意不是建立一個Window),在Class的代碼中繼承Window,然後寫一個初始化控制項的方法。

privat void InitControls(){DockPanel panel=new DockPanel();button btn=new Button;btn.Content="click me";btn.Click+=btn_Click;IAddChild container=panel;container.AddChild(btn);container=this;container.AddChild(panel);}private void btn_Click(object sender,RoutedEventArgs e){btn.Content="OK";}

2、使用代碼和未經編譯的XAML:這種方法就是在項目中單獨建立XAML類,然後在代碼中通過XAMLReader類解析它。這種方法對於動態產生介面有些時候很有益處。就像我最近在做的項目,需要根據資料動態產生gridview 的列,而列的多少是不一定的,資料行繫結的屬性也是根據資料決定的,我尋找了一些方法,但最終決定使用在後台代碼中動態寫入Xaml標記,我使用的方法比直接匯入一個XAML檔案要複雜,但是思想是一樣的,也是使用XAMLReader類解析。


<DockPane xmlns=:"http://schemas.microsoft.com/winfx/2006/xaml/presentation"> <Button Name="btn">click me</Button></DockPanel>
public Window(string xamlFile){DependencyObject rootElement;using(FileStream fs=new FileStream(xamlFile,FileMode.Open)){rootElement=(DependencyObject)XamlReader.Load(fs);}this.Content=rootElement;btn1=(Button)LogicalTreeHelper.FiindLogicalNode(rootElement,"btn");btn1.Click+=btn_Click;}

3、使用代碼和編譯過的XAML:這種就是我們常用的方法,比如在項目中建立一個Window,會自動關聯一個Xaml檔案,同時,Window.cs檔案會自動產生一個初始化控制項的方法。

【WPF學習】建立WPF應用程式的三種方式

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.