2011-07-22 5 views
1

私はコントロールのための新しい基本クラスを作成する必要があると思うので、私は何をしようとしている様々なレイアウトのバリエーションの複数のコントロールを作成するが、私はすべて同じ情報を処理する。ユーザーコントロールの基本クラスを作成するにはどうすればよいですか?

新しいユーザーコントロールを初期化して、コントロールのインスタンスにボタンを追加するために、コンストラクタでパラメータを渡すアプリケーション用です。

基本クラスがxamlファイルの内容を制御できるように、xamlファイルにバインドする必要がありますか?

答えて

2

あなたの最善の策は、ユーザーコントロールではなくカスタムコントロールを使用することです。これは、カスタムコントロールの見た目が小さくなり、異なるレイアウトに異なるスタイルを使用できるようになるためです。

もう1つのオプションは、継承を使用することです。

public partial Bar : Foo 
{ 
    ... 
} 

XAML:

<Foo xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
     xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
     xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"> 
    <Grid > 
    </Grid> 
</Foo> 

(注

例えばあなたが、この

コードを拡張し、複数のコントロールを作成することになりフー

public Foo : UserControl 
{ 
    ... 
} 

と呼ばれる基本クラスを与えられました使用)XAMLのUserControlの代わりに基本クラスの。)

+0

私は必要なもののように見えるので、fooにジェネリックロジックを置き、別のxamlファイルを持つことができます。私は今それを与えるだろう。 –

+0

私は同じ状況があり、この例を使用しようとしましたが、Fooクラスをxamlで認識できるようにすることはできません。同じプロジェクト内にあり、同じ名前空間にあります。 – Marlon

+0

これでFooクラスの名前空間宣言を追加するだけでした: ' Marlon