第0章 アプリケーション管理の概要 2/4
‖記事一覧‖ C#.use(better, IronPython=”WPF”)《IronPython》
アプリケーション管理の概要
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