ラベル コンポーネント化 の投稿を表示しています。 すべての投稿を表示
ラベル コンポーネント化 の投稿を表示しています。 すべての投稿を表示

2013-10-31

C#:UIコンポーネントの作成(既存UIコンポーネントを継承する)

C#(.NET系言語)では、UIコンポーネントは使うだけでなく作ることも可能です。今回は、一番簡単な既存UIコンポーネントを継承する場合の話です。

既存のUIコンポーネントをちょっとだけカスタマイズしたり、使いやすくするためにラップしたい場合は、UIコンポーネントを継承するのが効果的です。その方法ですが、まさにそのままで、
クラスを新規に作成し、(カスタマイズしたい)UIコンポーネントのクラスを継承する
だけでOKです。作成した後、ソリューションをコンパイルすれば、ツールボックスにUIコンポーネントとしてクラスが追加されていると思います。プロパティを追記すれば、プロパティウィンドウにも表示されます。

2010-06-10

GWTのUIBinderでコンポーネント化を試みる

GWTのUIBinderは、ただ単にUIの記述が楽になると言うだけでなく、UIの部品化(コンポーネント化)を容易に実現することができます。 具体的に言えば、UIBinderにて設計したインタフェース部分は、また別のUIBinderのところで呼び出すことができます。
例えば、あるページの本体構造を定義するMainFormのUI定義ファイルを以下のように定義されていたとします。

MainForm.ui.xml
    
        header
        
            left
            center
            right
        
    
こ の例では、「heder」の領域とその下に、「left」「center」「right」にエリアが並ぶことになります(便宜上、ラベルを配置しています が、、、)。

このヘッダ領域に表示する内容を別のUIBinderで下記のように設計したとします。
HeaderArea.ui.xml

    
    
    
        

試作システムのヘッダ


このようにUIBinderで定 義したUIを一部は、下記のようにすることでMainFormに記述することができます。

MainForm.ui.xml(変更後)

    
    
    
        
        
            left
            center
            right
        
    


こ のように、定義したUIBinderのクラスのパッケージをimportによりXMLのNamespaceに関連付け、利用するクラス名をタグ名として記 述することで、呼び出すことができます。こ れは、インタフェース部分の分業をはかる際に非常に強力になりますので、そういった意味でもUIBinderはおすすめだと思います。