2009-06-16 3 views

答えて

2

、あなたはしかし、プレースホルダのタイプを定義することによって、List<Person>のようなクローズジェネリック型に特異的に結合することができます。

C#

class People : List<Person> {} 

XAMLは:

<Style TargetType="{x:Type People}"> ... </Style> 

更新:あなたは、どちらかのスタイルのためのTargetTypeまたはx:Key財産ではなく、両方を指定する必要があります。

+0

私は、同様のxaml +ジェネリックの状況でこのソリューションを見つけました。私はすでにジェネリック毎に10個のクローズドタイプを持っており、スタイル情報を複製する必要はないと考えていました。 –

+0

はい... afaik XAMLはジェネリックスを直接把握していません。 – Gishu

0

Silverlightではなく、通常のWPFを使用していますか?私は間違っていない場合は、これを言うことができます:あなたはList<T>のようなオープンジェネリック型にバインドすることはできません

<Style TargetType="{x:Type Control}" x:Key="{x:Type Control}"> 
</Style> 
+0

はい、WPFですが、一般的なクラスに接続する必要があります。質問をより明確に更新します。 –

1

ジェネリックスは、XAMLではかなり制限されています。 Mike Hillberg氏は、カスタムマークアップの拡張について、かなり興味深い投稿を投稿しています(here)。

関連する問題