第0章 アプリケーション管理の概要 2/4

記事一覧 C#.use(better, IronPython=”WPF”)《IronPython

アプリケーション管理の概要

《著》本間りす+小粒ちゃん《監修》小泉ひよ子とタマゴ倶楽部
第3版♪2008/04/28

WPF アプリケーションを作成/管理するための概要を紹介します。WPF アプリケーションに共通するフレームワークを提供するのが、クラス Application です。

(2)マークアップXAML だけを使って

このアプリケーションを、マークアップXAML)だけで記述すると、次のようになります。


ここでも、分離コードと同様に、ウィンドウのタイトル Title=/幅 Width=/高さ Height= を指定しているのが分かります。また、同じアプリケーションを、マークアップ/分離コードを組み合わせて実現すると、次のようになります。

(3a)マークアップ/分離コードを組み合わせて

ここでは、ウィンドウを作成する役割だけを、マークアップに分担します。そして、アプリケーションを作成して、それを起動する役割を、分離コードに分担します。

マークアップには、作成したいウィンドウ Window に関する情報だけを記述します。

# IronPython
...
xaml = __file__.replace(".py", ".xaml")

app = Application()
win = LoadXaml(xaml)
app.Run(win)

前述した分離コードでは、ウィンドウを生成するのに Window() を使いました。ここでは、マークアップと連携させる関数 LoadXaml を使います。すると、マークアップファイル xaml から読み込んだ内容をもとに、作成したばかりのウィンドウ win を、分離コードからも参照できるようになります。
《付記》関数 LoadXaml は、ダウンロードした IronPython に付属する Tutorial/avalon.py に含まれます。□

(3b)マークアップ/分離コードを組み合わせて

マークアップ/分離コードの役割分担は任意です。ここでは、ウィンドウだけでなく、アプリケーションを作成する役割も、マークアップに分担します。そして、アプリケーションを起動する役割だけを、分離コードに分担します。





マークアップには、ウィンドウの他に、作成したいアプリケーション Application に関する情報も記述します。

# IronPython
...
app = LoadXaml(xaml)
app.Run()

前述した分離コードでは、アプリケーションを生成するのに Application() を使いました。ここでは、関数 LoadXaml を使って xaml から読み込んだ内容をもとに、作成したばかりのアプリケーション app を利用します。そして、メソッド Run を呼び出すと、アプリケーションを起動して、ウィンドウが開きます。このとき、実引数を指定する必要はありません。

》こちらに移動中です《
TOP


関連記事

Last updated♪2009/11/16