マークアップと分離コード
WPF アプリケーションの特徴は、マークアップ/分離コードによる分業化の促進です。
Extensible Application Markup Language〔XAML〕を使って「外観」を規定しながら、プログラミング言語(分離コード)を使って「動作」を実現します。このように、外観/動作を分離すると、デザイナー/プログラマーの専門分野を活かした棲み分けが可能になり、アジャイル開発を促進します。
さらに、プログラマーの棲み分けも可能です。分離コードを記述するのに、各自が得意とする .NET Framework プログラミング言語(C#/Visual Basic など)を利用できます。そこに、新たな選択肢として、IronPython が加わることになります。
部品を識別する:Walk
ウィンドウに配置されたコントロール部品を識別できると、コードを記述するときに便利です。それを支援するのが、関数 Walk です。
controls = {}
for e in Walk(win):
if hasattr(e, "Name"):
controls[e.Name] = e
button = controls["button"]
ここでは、辞書 controls を使って(ウィンドウ win に配置された)コントロール部品を管理します。すると、文字列キーを使って、各コントロールを識別できます。この手法は、種々のコントロール部品を統一的に扱いたいときには便利です。XAML ファイル apple.xaml には、次のように記述されています。
このボタンを識別するために、プロパティー Name="button" を設定しておきます。すると、この文字列を使って、あるボタン controls["button"] を識別できます。ただし、変数 button を使ってこのボタンを参照するためには、工夫が必要です。