代码之家  ›  专栏  ›  技术社区  ›  Jiew Meng

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

  •  2
  • Jiew Meng  · 技术社区  · 14 年前

    我发现当我从

    public class MarkdownEditorOptions : ObservableObject
    

    public class MarkdownEditorOptions : INotifyPropertyChanged, DependencyObject
    

    因为我想使用依赖项属性,所以得到了一个错误

    “Options”属性的默认值不能绑定到特定线程。…\Views\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 回复  |  直到 14 年前
        1
  •  2
  •   Community CDub    8 年前

    看看这些问题

    依赖项属性不是线程安全的,这意味着它不是从System.Windows.Freezable继承的。
    将DependencyObject更改为Freezable,因为Freezable是从DependencyObject派生的,所以它可以工作。