Я пытаюсь создать свойства DependencyProperties, которые имеют хорошее завершение выпадающего кода при использовании их в XAML-редакторе в Visual Studio.
Многие свойства фреймворка SilverLight по умолчанию имеют такое завершение, например, Background
или BorderBrush
. Кроме того, свойства Boolean
показывают выбор True
/ False
в XAML-редакторе. То же самое верно для DependencyProperties, таких как Canvas.Top
и Canvas.Left
и т. Д.
Я попытался определить свои собственные свойства DependencyProperties типа Color
или Boolean
, так как считал, что стандартные типы, такие как Color, Brush и Boolean, могут получить завершение бесплатно. Этого не произошло.
Я считаю, что мне нужно определить некоторые аннотации для моих свойств, но я не нашел пример, поскольку Silverlight SDK показывает только открытый API в Visual Studio, а не внутренние компоненты.
У вас есть идея, как получить код, заполненный Свойства?
Обновление: Вот пример того, что я пытаюсь сделать в SilverLigth 3 (!) Я только что говорил с коллегой, и он считает, что проблема связана с Silverlight 3 и старый не-VS2010-XAML-редактор в VS 2008.
XAML:
<Grid x:Name="LayoutRoot">
<Border test:PropTest.Test="Blue">
<TextBlock Text="123"/>
</Border>
</Grid>
Код позади
namespace PropTest{
public class PropTest : DependencyObject {
public static readonly DependencyProperty TestProperty = DependencyProperty.RegisterAttached(
"Test", typeof(Color), typeof(PropTest), new PropertyMetadata(Colors.Red));
public static void SetTest(DependencyObject obj, Color color){
(obj as Border).Background = new SolidColorBrush(color);
}
public static Color GetTest(DependencyObject obj){
return Colors.Red;
}
}
}
Этот пример является компилируемым / запускаемым, но я хочу написать API, используя DependencyProperties
, а не приложение, и, следовательно, я хочу завершить код для моего API. :)