“选项”属性的默认值不能绑定到特定线程

时间:2010-11-18 13:58:54

标签: wpf dependency-properties

我发现当我从

更改课程时
public class MarkdownEditorOptions : ObservableObject

public class MarkdownEditorOptions : INotifyPropertyChanged, DependencyObject

因为我想使用依赖属性,我得到了错误

  

'Options'属性的默认值不能绑定到特定线程。 ... \视图\ ShellView.xaml

选项在ShellViewModel

上声明为依赖属性
public MarkdownEditorOptions Options
{
    get { return (MarkdownEditorOptions)GetValue(OptionsProperty); }
    set { SetValue(OptionsProperty, value); }
}

public static readonly DependencyProperty OptionsProperty =
    DependencyProperty.Register("Options", typeof(MarkdownEditorOptions), typeof(ShellViewModel), new UIPropertyMetadata(new MarkdownEditorOptions()));

怎么了?

1 个答案:

答案 0 :(得分:2)

查看这些问题

您的Dependency属性不是线程安全的,这意味着它不会从System.Windows.Freezable继承。
将DependencyObject更改为Freezable,它将起作用,因为Freezable派生自DependencyObject。