日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > asp.net >内容正文

asp.net

《Programming WPF》学习(二)Application及其设置

發布時間:2023/12/19 asp.net 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 《Programming WPF》学习(二)Application及其设置 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
??????2.1Application簡介

??????Application是一個地址空間,在WPF中應用程序就是在System.Windows命名空間下的一個Application實例。一個應用程序只能對應一個Application的實例,而Application的生命周期自然是從運用程序啟動到終止的周期。

??????2.11Application的創建

??????Application的創建分為顯式和隱式兩種方式

顯示創建Application
using?System;
using?System.Windows;

Class?Program
{
??[STAThread]
??
static?vod?main(){
????Application?app?
=?new?Application();
????Window1?window
=new?Window1();
????window.Show();
????app.run();
??}

}

?????? 在上面的代碼中,Windows1的對象即是應用程序的主窗體調用,這類似與2.0中的Program.cs文件中的run(new Windows1()),在創建Application對象的時候,會對Application靜態屬性Current賦予新創建的對象,所以app.run()也可以替換成Application.Current.Run()

隱式創建Application
<!--App.xaml-->
<Application?
??x:Class
="ImplicitAppSample.App"?
??xmlns
="Http://schemas.microsoft.com/winfx/2006/xaml/presentation"
??xmlns:x
="http://schemas.microsoft.com/winfx/2006/xaml"?/>


<!--App.xaml.cs-->
using?System;
using?System.Windows;

namespace?ImolicitAppSample{
??
public?partial?class?App:Application{
????
protected?override?void?OnStartup(StartupEventArgs?e){
??????
//let?the?base?class?have?a?crack
??????base.OnStartup(e);
??????
//
??????Windows1?window=Window1();
??????window.Show();
????}

??}

}

??????在代碼中定義一個繼承與Application的類,并在類中重寫Application啟動時(Run方法調用時)出發的OnStartup事件對應的方法,將主窗體的實例化放在該方法中。事實上WPF中會自動創建Main函數,并依照工程文件中指定的相關Application對應所在文件app.xaml,實例化該應用程序類,并調用Run方法。除了在OnStartup時間對應分方法中指定實例化的主窗體,也可以在app.xaml文件中直接指定程序運行時實例化并顯示的主窗口,如下代碼:

Code
<!--App.xaml-->
<Application?
??x:Class
="ImplicitAppSample.App"?
??xmlns
="Http://schemas.microsoft.com/winfx/2006/xaml/presentation"
??xmlns:x
="http://schemas.microsoft.com/winfx/2006/xaml"?
??StartupUri
="Window1.xaml"?/>

??????一個頂級窗口就是不包含或者不從屬于其它窗口的窗口。Application被創建后第一個創建的頂級窗口就是主窗口,也可以通過設置MainWindow屬性來改變主窗口。

Application的關閉模式有三種,分別為OnMainWindowClose、OnLastWindowClose和OnexplictShutDow。前兩種枚舉見名知意,前兩種關閉模式也可以調用ShutDown方法來手動關閉應用程序,而最有一個模式只能調用ShutDown方法才能關閉應用程序。

??????Application的事件

???? Startup當Applicaton實例調用Run方法時觸發;Activated和Deactivated事件,當一個窗口被激活時觸發Activated試件,當應用程序被激活且另一個頂級窗口激活時觸發Deactivated事件;SessionEnding事件是在窗口會話結束時調用;Exit則是應用程序退出的事件

??????Aplication的單一實例應用程序

單一實例應用程序
<!--在程序運行前加入判斷-->
public?partial?class?App:Application{
????
????Mutex?mutex;

????
protected?override?void?OnStartup(StartupEventArgs?e){
??????
//let?the?base?class?have?a?crack
??????base.OnStartup(e);

??????
//判斷
???????string?mutexName?=?"MyCompanyName.MyAppName";
??????
bool?CreateNew;
??????mutex
=new?Mutex(true,mutexName,out?CreateNew);
??????
if(!CreateNew)
??????
{ShowDown();}

??????
//
??????Windows1?window=Window1();
??????window.Show();
????}

?

???????2.2應用程序部署???????

??????這一節看得不是很懂,本來就對framewrk的發布機制有點模糊的概念,這節跳過。之后補齊對其的認識

??????2.3配置

??????WPF應用程序的設置跟以往的。net應用程序一樣,也是在Settings標簽中進行,具體的設置沒有太多變化。對于設置好的設置可以通過System.Configuration命名空間下的CnfigurationManager類進行反問,也可以通過Properties.Settings.Default.<屬性名稱>反問。

??????在Wpf下對配置文件的訪問

配置文件設置如圖?

反問配置文件屬性
<Window?x:Class="WpfApplication1.Window1"
????xmlns
="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
????xmlns:x
="http://schemas.microsoft.com/winfx/2006/xaml"
????Title
="Window1"?Height="300"?Width="300"
????????xmlns:local
="clr-namespace:WpfApplication1.Properties">
????
<Button?Name="button1"?Width="200"?Height="200"?Click="button1_Click">
????????
<Button.Content>
????????????
<Grid?Height="160"?Width="161"?>
????????????????
<Grid.RowDefinitions>
????????????????????
<RowDefinition?/>
????????????????????
<RowDefinition?Height="auto"?MinHeight="16"?/>
????????????????
</Grid.RowDefinitions>
????????????????
<Image?Name="image1"?Grid.Row="0"?Source=".\Source\Cat.gif"?ImageFailed="image1_ImageFailed"?/>
????????????????
<TextBlock?Grid.Row="1"?HorizontalAlignment="Center"?Text="{Binding?Path=Name,Source={x:Static?local:Settings.Default}}"></TextBlock>
????????????
</Grid>
????????
</Button.Content>
????
</Button>
</Window>

??????xaml文件中使用命名空間映射至WpfApplication1.Properties,再將TextBlock的Text數據banding到Path指定的屬性下

?

運行效果?

?

轉載于:https://www.cnblogs.com/FlyCloud/archive/2009/04/06/1430482.html

總結

以上是生活随笔為你收集整理的《Programming WPF》学习(二)Application及其设置的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。