У меня есть UserControl со следующим свойством:
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 для дженериков, поэтому написание производного List должно помочь, не так ли?