WPF and Silverlight
UIフレームワークというスコープでみた場合の性質は同じ
Silverlightはランタイムのサイズを4MB台に抑えなければならなかった為
WPFに比べると機能が削られているという違いがある
http://www.atmarkit.co.jp/fdotnet/vblab/uiframework_01/uiframework_01_01.html
XAML構文ありきのWPF UIフレームワーク
この記事の中あたりに
WPF UIフレームワークを理解するうえでXAMLという言語そのもに対する知識はあまり重要でない。と断言的に述べていた。
画面設計とロジックの分離
画面設計をXAMLで記述し、イベント処理やビジネスロジックなどはC#やVBのコードで記述
(このような形態を[コードビハインド]と呼ぶ)
XAMLでは、コントロールの配置や静的な画面設計ではなくグラフィックス描写やコントロールの合成、
アニメーション、UI要素とデータのデータバインディングといった動的な処理までも記述することができる
このおかげで、画面まわりの処理の多くをコードビハインド側のコードから排除でき、コードビハインド側の
コードではロジックに専念できる。
本当にXAMLの理解は重要ではない?
確かにExpression Blendなどのデザイナを使えば画面設計を行え、XAMLのコードを自動生成
する事ができます。XAMLの理解がないという事は、HTMLやCSSを知らずにWeb開発ができるの?
という事と同じ事である。
Hello XAML
全てテキストエディタでの作成
- ウィンドウを定義した *.xamlファイル
- アプリケーションを定義した *.xamlファイル
ウィンドウを定義した win.xaml
<Window xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" Title="My First XAML" Width="320" Height="240" > Hello World </Window>
XAMLではウィンドウをWindow要素で記述する。Window /Windowタグで挟まれた内容が
ウィンドウに表示される。
Window要素の属性は上記のように設定できる
アプリケーションを定義した app.xaml
<Application xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" StartupUri="win.xaml" />
アプリケーションのビルド
このアプリケーションをビルドするには、ビルドツール(MSBuild.exe)を使って実行ファイルを
作成します。その為にはプロジェクトファイルを作成します。
プロジェクトファイル hello.proj
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003" DefaultTagets="Build"> <PropertyGroup> <AssemblyName>HelloWorld</AssemblyName> <OutputType>winexe</OutputType> <OutputPath>c:\</OutputPath> </PropertyGroup> <ItemGroup> <ApplicationDefinition Include="app.xaml" /> <Page Include="win.xaml" /> <Reference Include="System" /> <Reference Include="WindowsBase" /> <Reference Include="PresentationCore" /> <Reference Include="PresentationFramework" /> </ItemGroup> <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" /> <Import Project="$(MSBuildBinPath)\Microsoft.winFX.targets" /> </Project>
とまぁ呪文をたかたか打っていきいざコンパイル。
コマンドプロンプトを開き、先ほどの3つのファイルがある所まで移動する。
カレントディレクトリで、自分の場合は.NetFramework 3.5 だった為、
windows/microsoft.net/framework/v3.5/msbuild.exe を実行。
Hello World
0 件のコメント:
コメントを投稿