私は、次のプロパティを持つユーザーコントロールを持っている:UserControl with List <T>プロパティ - 宣言的な定義の可能性はありますか?
public List<Rect> HotSpots
{
get { return (List<Rect>)GetValue(HotSpotsProperty); }
set { SetValue(HotSpotsProperty, value); }
}
public static readonly DependencyProperty HotSpotsProperty =
DependencyProperty.Register("HotSpots", typeof(List<Rect>), typeof(ImageViewPort), new FrameworkPropertyMetadata(HotSpotsChanged));
コンパイルXAML(デフォルトではXAML 2006)ジェネリックをサポートしていないので、2009年仕様は、私は疑問に思う、ことができます方法のようなものをやってのいずれかの可能性があります次のように:
<WPF:ImageViewPort Grid.Row="1">
<WPF:ImageViewPort.HotSpots>
<Rect Location="0,0" Height="30" Width="50"></Rect>
<Rect Location="10,35" Height="30" Width="20"></Rect>
</WPF:ImageViewPort.HotSpots>
</WPF:ImageViewPort>
または次のような唯一のチャンスですか?
<WPF:ImageViewPort Grid.Row="1" HotSpots="{Binding Path=HotSpots}"/>
ただ、好奇心から、制限はジェネリック医薬品のためのXAMLのサポートのようですので、リスト誘導体を書くことはトリックを行う必要があり、それはいけませんか?
public class Rectlist:リスト //あなたのバインディングで動作するはずです –
blindmeis
バインディングはうまく動作します。 –