То, что я хочу, это свойство зависимости, которое может содержать список чего-либо. Если элемента нет, список не должен быть пустым, но свойство зависимости должно быть нулевым.
Вот определение:
public List<Element> Elements {
get { return (List<Element>)GetValue(ElementsProperty); }
set { SetValue(ElementsProperty, value); }
}
public static readonly DependencyProperty ElementsProperty =
DependencyProperty.Register("Elements", typeof(List<Element>), typeof(ParameterControl), new PropertyMetadata(null));
При добавлении элемента ...
<controls:Knob.Elements>
<controls:Element Position="50,0" Text="j"/>
</controls:Knob.Elements>
... Я получаю это исключение.
System.Windows.Markup.XamlParseException: ... "Elements" ist NULL.
Если я заменю «new PropertyMetadata (null)» на «new PropertyMetadata (new List ())», это работает. Но в этом случае свойство зависимости не равно нулю, если элемента нет.