Я хочу установить значение по умолчанию для моего Присоединенного свойства, но когда я это получу, я получу:
Первое случайное исключение типа «System.ArgumentException» произошло в WindowsBase.dll
Первое случайное исключение типа «System.TypeInitializationException» произошло в Oef_AttDepProp.exe
Без значения по умолчанию все работает нормально.
Вот пример кода, который я использовал:
public static readonly DependencyProperty IsEigenaarProperty = DependencyProperty.RegisterAttached(
"Eigenaar", typeof(clsPersoon), typeof(UIElement),
new UIPropertyMetadata(new clsPersoon("test", "test"), PropertyChanged));
[DesignerSerializationVisibility(DesignerSerializationVisibility.Visible)]
[Browsable(true)]
public clsPersoon Eigenaar
{
get
{
return _persoon;
}
set
{
_persoon = value;
}
}
public static void SetEigenaar(UIElement element, clsPersoon value)
{
element.SetValue(IsEigenaarProperty, value);
}
public static clsPersoon GetEigenaar(UIElement element)
{
return (clsPersoon)element.GetValue(IsEigenaarProperty);
}
private static void PropertyChanged(DependencyObject obj, DependencyPropertyChangedEventArgs args)
{
if (obj is Window1)
((Window1)obj).Title = GetEigenaar(((Window1)obj)).ToString();
}
Проблема, по-видимому, связана с "новым clsPersoon (" test "," test ")", но это всего лишь очень простой класс с 2-строковым конструктором.
Редактировать : При попытке установить свойство с помощью события click вместо window_load я получаю innerException: «Значение по умолчанию для свойства 'Eigenaar' не может быть привязано к определенному потоку. «