misc.log

日常茶飯事とお仕事と

手書きXAMLでサンプル

エッセンシャルWPF(asin:4798114200)を見ながら、とりあえずやってみるテスト。MSBuildも使ったこと無かったので、まずは手書きXAMLMSBuildでビルドしてアプリを動かしてみる実験。ホント基礎の基礎だね。用意するものは

  • アプリケーション定義を書いたapp.xamlファイル
  • ウィンドウ定義を書いたMyWindow.xamlファイル
  • 上記2ファイルをインクルードしてビルドするMSBuild用ファイル

すっかりぬるいVisual Basicの世界で暮らして長いので、MSBuild用の定義とか、大文字小文字間違いとかで何度もエラーを出しながら、ビルド。動かす。で、フォーム一杯に広がったボタンだけのアホみたいなWPFアプリケーション作成稼働風景が右の画像。

ちなみに、Visual Studioしか使ってない人が多分陥るであろうポイントとして、テキストファイル手書きでソースをコンパイラに渡す場合、ファイルはUTF-8とかでエンコードしておかないとコケます。その点忘れないように。

■app.xaml
<Application
	xmlns='http://schemas.microsoft.com/winfx/2006/xaml/presentation'
	StartupUri='MyWindow.xaml'
	/>
■MyWindow.xaml
<Window xmlns='http://schemas.microsoft.com/winfx/2006/xaml/presentation' Title='Hello World'>

	<Button>こんにちは</Button>

</Window>
■tour.build
<Project
	DefaultTargets='Build'
	xmlns='http://schemas.microsoft.com/developer/msbuild/2003'>

	<PropertyGroup>
		<Configuration>Debug</Configuration>
		<Platform>AnyCPU</Platform>
		<RootNamespace>Tour</RootNamespace>
		<AssemblyName>Tour</AssemblyName>
		<OutputType>winexe</OutputType>
		<OutputPath>.\bin\Debug\</OutputPath>
	</PropertyGroup>

	<ItemGroup>
		<Reference Include='System' />
		<Reference Include='WindowsBase' />
		<Reference Include='PresentationCore' />
		<Reference Include='PresentationFramework' />
	</ItemGroup>

	<ItemGroup>
		<Page Include='MyWindow.xaml' />
		<ApplicationDefinition Include='app.xaml' />
	</ItemGroup>

	<Import Project='$(MSBuildBinPath)\Microsoft.CSharp.targets' />
	<Import Project='$(MSBuildBinPath)\Microsoft.WinFX.targets' />

</Project>

エッセンシャルWPF:Windows Presentation Foundation (Programmer's SELECTION)

エッセンシャルWPF:Windows Presentation Foundation (Programmer's SELECTION)