我发现当我改变班级时
public class MarkdownEditorOptions : ObservableObject
to
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()));
怎么了?
看看这些问题
- 当我提供默认值时,为什么依赖属性实现会使我的应用程序崩溃? https://stackoverflow.com/questions/1168648/why-would-a-dependency-property-implementation-crash-my-application-when-i-provid
- 附加属性:设置默认值时出现“System.TypeInitializationException” https://stackoverflow.com/questions/2102013/attached-property-system-typeinitializationexception-when-setting-default-valu
您的 Dependency 属性不是线程安全的,这意味着它不是从 System.Windows.Freezable 继承的。
将 DependencyObject 更改为 Freezable,它将起作用,因为 Freezable 派生自 DependencyObject。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)